Feature request: Add newline insertion action for Chat keybindings
Preflight Checklist
- [x] I have searched existing requests and this feature hasn't been requested yet
- [x] This is a single feature request (not multiple features)
Problem Statement
When composing multi-line messages in Claude Code's chat input, there is no way to insert a newline without submitting
the message. The Enter key is bound to submit, and there is no keybinding action available to insert a newline. This
forces users to rely on the external editor (Ctrl+G), which opens a separate application window — adding unnecessary
friction for users who frequently write long or structured messages.
If a chat:newline action were available in the keybindings system, this would be fully solved.
----------------------------------------------------------------------------------------------------------------------------------------------------
Claude Code 채팅 입력창에서 메시지를 전송하지 않고 줄바꿈을 삽입할 방법이 없습니다. Enter 키는 전송에 고정되어 있고,
keybindings에 줄바꿈 삽입 액션 자체가 존재하지 않습니다. 결국 외부 에디터(Ctrl+G)를 열어야 하는데, 매번 별도 창을 열고
닫는 과정이 번거롭습니다.
chat:newline 액션만 추가되면 이 문제는 완전히 해결됩니다.
Proposed Solution
Add a chat:newline (or chat:insertNewline) action to the keybindings system, allowing users to configure Enter as newline and another key as submit.
Example configuration:
{
"context": "Chat",
"bindings": {
"enter": "chat:newline",
"ctrl+enter": "chat:submit"
}
}
----------------------------------------------------------------------------------------------------------------------------------------------------
keybindings 시스템에 chat:newline 액션을 추가해주세요. 그러면 사용자가 아래처럼 설정할 수 있습니다:
- Enter → 줄바꿈
- Ctrl+Enter (또는 원하는 키) → 전송
Alternative Solutions
- External editor (Ctrl+G): Opens Notepad or another editor to write multi-line text, then pastes it into the chat
input. Works, but requires opening and closing a separate window every time.
- Keybinding workarounds: Tried binding Ctrl+Enter, Alt+Enter, and Ctrl+Shift+Enter to chat:submit and unbinding
Enter — but most terminals (including Windows Terminal) cannot distinguish these key combinations from plain Enter at
the terminal level.
----------------------------------------------------------------------------------------------------------------------------------------------------
- 외부 에디터 (Ctrl+G): 메모장 등 별도 에디터를 열어 작성 후 붙여넣는 방식. 작동은 하지만 매번 창을 열고 닫아야 해서
번거롭습니다.
- Keybinding 우회 시도: Ctrl+Enter, Alt+Enter, Ctrl+Shift+Enter 등을 chat:submit에 바인딩하고 Enter를 unbind
해봤지만, 대부분의 터미널(Windows Terminal 포함)에서 이 키 조합들이 일반 Enter와 동일한 신호로 전달되어 작동하지
않았습니다.
Priority
High - Significant impact on productivity
Feature Category
Interactive mode (TUI)
Use Case Example
Scenario: Writing a detailed bug report or structured prompt in Claude Code.
- User wants to send a multi-line message with numbered steps or code snippets.
- User types the first line and presses Enter to go to the next line.
- Instead of inserting a newline, the message is immediately submitted ??incomplete.
- User must either rewrite everything in one line, or open the external editor (Ctrl+G) just to write a few lines.
With chat:newline action:
- User presses Enter ??newline inserted, stays in the input.
- User finishes composing the full message.
- User presses Ctrl+Enter ??message submitted cleanly.
----------------------------------------------------------------------------------------------------------------------------------------------------
시나리오: Claude Code에서 단계별 버그 리포트나 구조화된 프롬프트 작성.
- 사용자가 여러 줄 메시지(번호 목록, 코드 포함)를 작성하려 함.
- 첫 줄 입력 후 Enter를 누름.
- 줄바꿈 대신 메시지가 즉시 전송됨 — 미완성 상태로.
- 외부 에디터(Ctrl+G)를 열어야만 멀티라인 입력 가능.
chat:newline 액션이 있다면:
- Enter → 줄바꿈 삽입, 입력창에 계속 머뭄.
- 메시지 완성.
- Ctrl+Enter → 전송.
Additional Context
Similar features in other tools:
- Slack: Shift+Enter for newline, Enter to submit
- Discord: Shift+Enter for newline, Enter to submit
- VS Code terminal: configurable submit key
Technical note:
The keybindings system already supports unbinding keys (setting to null) and custom actions. Adding chat:newline would
be a minimal addition to the existing action registry — no architectural changes needed.
Tested environments:
- OS: Windows 10
- Terminal: Windows Terminal
- Attempted keys: Ctrl+Enter, Alt+Enter, Ctrl+Shift+Enter — all fail due to terminal-level key indistinguishability.
----------------------------------------------------------------------------------------------------------------------------------------------------
유사 기능 참고:
- Slack: Shift+Enter 줄바꿈, Enter 전송
- Discord: Shift+Enter 줄바꿈, Enter 전송
기술적 참고사항:
기존 keybindings 시스템은 이미 키 unbind(null 설정)와 커스텀 액션을 지원합니다. chat:newline 액션 추가는 기존 액션
레지스트리에 최소한의 추가만으로 구현 가능하며, 아키텍처 변경이 필요 없습니다.
테스트 환경:
- OS: Windows 10
- Terminal: Windows Terminal
- 시도한 키: Ctrl+Enter, Alt+Enter, Ctrl+Shift+Enter — 터미널 레벨에서 Enter와 동일한 신호로 전달되어 모두 실패.
This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗