[FEATURE] Bindable bash-mode submit actions — enter = run+stay, shift+enter = run+exit
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
Problem Statement
Bash-input mode (!) is sticky: Enter runs the command and the input stays
in bash mode; returning to the chat prompt requires Escape/Backspace/Ctrl+U
on an empty prompt.
For a fire-one-command-then-keep-talking workflow (e.g. driving a Makefile
of claude -p verbs inline, then immediately continuing the conversation),
that's a manual mode-switch keystroke appended to every single exchange.
Notably, the project has seen demand in BOTH directions: #24845 and #52939
asked for persistent bash mode back when it auto-exited (both closed
not-planned); the current behavior is persistent, and now the one-shot flow
is the one that costs a keystroke. That history suggests neither default
satisfies everyone — which makes this a keybinding problem, not a default
problem.
Proposed Solution
Expose bash-mode submit as bindable actions instead of changing the default:
bash:submit— run the command, stay in bash mode (today's behavior, default onenter)bash:submitAndExit— run the command, return to the chat prompt (suggested default:shift+enter)
Today keybindings.json has no bash:* context or actions at all, and the
docs confirm mode persistence isn't configurable — so both camps from the
earlier issues could self-serve with two small actions and zero default-behavior
change.
Alternative Solutions
_No response_
Priority
Medium - Would be very helpful
Feature Category
Interactive mode (TUI)
Use Case Example
Workflow Context
Interactive sessions where the operator fires deterministic shell commands
(make <verb> wrappers around claude -p) between chat turns: batch users
keep Enter semantics untouched; one-shot users bind shift+enter and never
touch Escape again.
Additional Context
_No response_
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗