Skip to content

[Feature]: Add Cmd+Enter (Mac) / Ctrl+Enter (Windows) shortcut to send messages in Control UI #39821

@Liutingxun5548

Description

@Liutingxun5548

Summary

Add keyboard shortcut (Cmd/Ctrl+Enter) to send messages in Control UI chat, with Enter for new line.

Problem to solve

Currently, the Control UI chat input sends messages when pressing Enter alone. This makes it difficult to:

  1. Type multi-line messages without accidentally sending them
  2. Edit messages before sending (common in all major chat apps)
  3. Follow standard chat UI conventions

Users coming from Slack, Discord, WeChat, Telegram, etc. expect Enter to create a new line and Cmd/Ctrl+Enter to send. The current behavior causes:

  • Accidental premature message sends
  • Inability to compose longer, multi-line messages
  • Frustration for users switching from other chat platforms

Proposed solution

Add keyboard shortcut support for sending messages:

Default behavior (recommended):

  • Mac: Cmd+Enter to send, Enter for new line
  • Windows/Linux: Ctrl+Enter to send, Enter for new line

Alternative: Add a setting in Control UI preferences:

  • Option to toggle between "Enter to send" and "Cmd/Ctrl+Enter to send"
  • Store preference in localStorage

Implementation notes:

  • Listen for keyboard events in the chat input component
  • Check for metaKey (Mac) or ctrlKey (Win/Linux) + Enter
  • Maintain backward compatibility for users who prefer Enter-to-send

Alternatives considered

  1. Browser extensions that customize keyboard shortcuts - works but not ideal, adds dependency
  2. Manual modification of Control UI source code - not sustainable for most users
  3. Using a different chat interface (e.g., terminal TUI) - loses the benefits of the web UI
  4. Training users to adapt - poor UX, goes against established conventions

Impact

Affected users: All Control UI and WebChat users
Severity: Medium (usability issue, not a blocker)
Frequency: Every time a user types a message
Consequence:

  • Accidental message sends cause confusion and require follow-up corrections
  • Users cannot compose thoughtful multi-line messages
  • Reduces productivity for power users who send many messages daily
  • Creates friction for new users adopting OpenClaw

This is a common pattern in virtually all modern chat applications (Slack, Discord, WeChat, Telegram, WhatsApp Web, etc.), so users have strong muscle memory for this shortcut.

Evidence/examples

Industry standard behavior:

  • Slack: Ctrl+Enter to send
  • Discord: Ctrl+Enter to send
  • WeChat (微信): Ctrl+Enter to send
  • Telegram: Ctrl+Enter to send
  • WhatsApp Web: Ctrl+Enter to send
  • Microsoft Teams: Ctrl+Enter to send
  • iMessage on Mac: Cmd+Enter to send

Reference: Most Electron-based chat apps and web chat interfaces support this as either default or an option.

Additional information

Priority: 🟡 Medium (usability improvement)
Area: Control UI / WebChat
Backward compatibility: Should maintain existing Enter-to-send behavior or provide a toggle

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions