Prevents accidental message sends caused by pressing Enter during Japanese IME conversion in ChatGPT, Claude, Gemini, and more on macOS. No configuration needed.
日本語
While typing Japanese in ChatGPT, Claude, or Gemini, you press Enter to confirm a conversion — and the unfinished message gets sent immediately.
Send Control eliminates this frustration. Save wasted tokens and the time spent re-doing prompts.
Send Control swaps the behavior of Return and Shift+Return:
- Return → line break (does not send)
- Shift+Return → send
Works with ChatGPT, Claude, Gemini, Messenger, and other apps with the same problem. To disable the swap for specific apps, add them to the exclusion list from the menu bar.
⬇ Download latest release- Download
Send-Control-v*.zipfrom Releases - Unzip and move
Send Control.appto/Applications/ - Launch and grant two permissions:
- Accessibility (
System Settings > Privacy & Security > Accessibility) - Input Monitoring (
System Settings > Privacy & Security > Input Monitoring)
- Accessibility (
See INSTALL.md for detailed steps.
- Toggle ON/OFF with one click from the menu bar
- Works system-wide across all macOS apps
- Per-app exclusion list
- Permission setup guide on first launch
- Installs without Gatekeeper warnings (Developer ID signed and notarized by Apple)
- Designed for simplicity. No dependencies, minimal resource usage
- Intercepts Return (keyCode 36) and keypad Enter (76) via CGEvent tap (
.defaultTap), toggling the Shift flag - Terminal-safe mode for apps using modifyOtherKeys / kitty protocol
- ~1400 LOC, pure AppKit, no dependencies
- Apache-2.0 license
| English | 日本語 | |
|---|---|---|
| Install | INSTALL.md | INSTALL.ja.md |
| Privacy | PRIVACY.md | PRIVACY.ja.md |
| Known Issues | KNOWN_ISSUES.md | KNOWN_ISSUES.ja.md |
| Quick Start | — | QUICKSTART_BEGINNER.ja.md |
