Browser extension · Chrome & Firefox

Stop accidentally sending half-finished prompts.

Press Enter for a new line. Press Cmd + Enter to send. That’s the whole extension.

Free, forever Open source · MIT No data leaves your browser

The problem

You meant to write a paragraph. You hit Enter to start a new line. ChatGPT sent half a sentence.

Every heavy AI user has been there. EnterNewLine fixes it — without changing anything else about how the site works.

Without EnterNewLine

I want you to help me refactor this module. Here are the things to look at:

Sent The colon was a promise. The list never made it in.

With EnterNewLine

I want you to help me refactor this module. Here are the things to look at:
1. The error handling around timeouts
2. The retry policy on the queue
3. 

New line Keep typing the list. Send with Cmd + Enter when you’re actually done.

How it works

Three keys. One mode. No surprises.

The extension intercepts keypresses on the primary chat input only. Search bars, chat rename fields, and other inputs are left untouched. Paste behavior is unaffected.

Enter

Inserts a new line.

Like every other text editor on earth.

+ Enter

Sends the message.

Ctrl + Enter on Windows and Linux. Same key. Same intent. New finger.

+ Enter

Unchanged.

Whatever the site does natively. We don’t touch it.

Where it works

The five sites you’re most likely writing on.

Out of the box, on the sites where you’re actually writing long prompts. Toggle each one on or off per site from the popup, or manage them all from settings.

  • ChatGPT chatgpt.com
    Active
  • Claude claude.ai
    Active
  • Gemini gemini.google.com
    Active
  • Perplexity perplexity.ai
    Active
  • NotebookLM notebooklm.google.com
    Active

Custom sites are intentionally out of scope so the extension can keep a narrow, review-friendly host-permission footprint. New defaults arrive through extension updates — existing user toggles are respected.

The popup & settings

A toolbar utility, not an app.

Click the icon, see what’s on, count what you’ve saved, move on. The numbers stay in your browser. They’re for you, not us.

EnterNewLine On this site
chatgpt.comActive

This site

1,247
Newlines saved
312
Messages sent

Global

3,508
Newlines saved
874
Messages sent

From the popup

  • Whether the extension is active on the current site.
  • Newlines saved on this site, and across every site.
  • Messages sent with Cmd + Enter, this site and globally.

From settings

  • Toggle each supported site on or off.
  • Export your settings as a JSON file.
  • Import settings from a JSON file — handy when you switch machines.

If you’re signed into Chrome, your enabled/disabled sites sync across your own devices automatically. Export/import is for the cases where sync isn’t enough — switching to Firefox, sharing a config with a coworker, that kind of thing.

What it doesn’t do

Nothing leaves your browser.

No accounts, no analytics, no “Pro” tier. The four lines below are not a roadmap. They are a permanent commitment, and the source is open so you can verify every word.

No

Data collection.

EnterNewLine collects nothing. Not your prompts, not your sites, not your stats. The counters in the popup live in storage.sync on your machine.

No

Network requests.

The extension never contacts a server. Period. There’s no telemetry endpoint because there’s no telemetry. Use it on a plane.

No

Accounts or sign-in.

Install it. It works. Settings sync through the browser’s own account — there is no EnterNewLine account, and there never will be.

No

Ads, upsells, or a Pro tier.

Free under the MIT license, fully auditable on GitHub. Read every line of the code.

Frequently asked

A few honest answers.

Will this break Shift + Enter?

No. Shift + Enter is left exactly the way the site handles it natively — we never intercept it. Most sites already use it for a new line, so your old habits keep working in parallel with the new ones.

Why not just train myself to use Shift + Enter?

You can. Many people have. But muscle memory built across thirty years of email, text editors, and IDEs doesn’t care about your conscious intentions, and the cost of being wrong is sending a half-finished prompt to a model that will cheerfully answer it.

EnterNewLine flips the default so the wrong key becomes the safe one.

Why these five sites and not others?

ChatGPT, Claude, Gemini, Perplexity, and NotebookLM cover the overwhelming majority of long-form AI chat usage. Shipping with a fixed list keeps the extension’s host permissions narrow and easy for browser stores to review, which keeps the install prompt boring — the way a keyboard utility should be.

New defaults are added through extension updates. Custom user-added sites are intentionally out of scope.

What happens to other inputs on the page?

The content script targets the primary chat/prompt input only — textarea, contenteditable, ProseMirror, the usual suspects. Search bars, chat rename fields, account inputs, and everything else are completely untouched. Paste behavior is unaffected too.

Where are my settings stored?

In your browser’s storage.sync. If you’re signed into Chrome, the same toggles follow you across your own devices. If you need to move them somewhere sync can’t reach — a different browser, a different account, a coworker’s machine — export them as a JSON file from settings and import on the other side.

Is it really open source?

Yes — MIT licensed, every line on github.com/primaprashant/enter-new-line. Bug reports, feature requests, and pull requests are welcome.

Enter inserts a new line, Cmd+Enter sends.

Browser extension that works on ChatGPT, Claude, Gemini & more.

Add to Chrome Read the source

Free·Open source·No tracking ever