Ctrl+D CLI behavior: delete char vs EOF exit
Cluster 6448 · hermes cli. Data as of
1 open item. Fix merged in #15383 on 24 Apr 2026. Check it covers your case.
The short answer
- Known?
- Yes. 8 related items grouped here, 1 issue already closed.
- Fix event
- A fix was merged to main in PR #15383. Check it covers your case. No release data is tracked.
- Tracker
- The maintainers' tracker marks this
unresolved. That is separate from the fix event. - Still open
- 1 issue and 0 PRs.
Next step: read #15383, then check whether your report is the one still open.
Read #15383Pick up a Lab taskThese issues and pull requests address how the CLI handles Ctrl+D, specifically whether it should delete the character under the cursor or exit the session, with proposals to match standard readline/bash/zsh semantics (exit only on empty input).
Open issues1
- Issue#8478fix: Ctrl+D deletes character under cursor instead of sending EOF
Open PRs0
Fixes on record
-
#15383 fix(cli): Ctrl+D = readline semantics (delete-char + EOF-only-when-empty)
files:
cli.py,scripts/release.pyShow the diff
-
cli.py@@ -9525,9 +9525,20 @@ def handle_ctrl_c(event): @kb.add('c-d') def handle_ctrl_d(event): - """Handle Ctrl+D - exit.""" - self._should_exit = True - event.app.exit() + """Ctrl+D: delete char under cursor (standard readline behaviour). + Only exit when the input is empty — same as bash/zsh. Pending + attached images count as input and block the EOF-exit so the + user doesn't lose them silently. + """ + buf = event.app.current_buffer + if buf.text: + buf.delete() + elif self._attached_images: + # Empty text but pending attachments — no-op, don't exit. + return + else: + self._should_exit = True + event.app.exit() _modal_prompt_active = Condition( lambda: bool(self._secret_state or self._sudo_state) -
scripts/release.py@@ -68,6 +68,7 @@ "[email protected]": "stablegenius49", "[email protected]": "batuhankocyigit", "[email protected]": "ismell0992-afk", + "[redacted:email]": "iRonin", "[redacted:email]": "jvcl", "[redacted:email]": "aj-nt", "[redacted:email]": "francip",
-
5 PRs closed without merging
From the close comments: superseded by another PR 2 · closed without comment 1 · duplicate 1 · merged via another change 1
-
#4783 fix: Ctrl+D deletes char under cursor, exits only on empty input · merged via another change →
#15383 - #6471 fix(cli): only exit on Ctrl+D when input buffer is empty · closed without comment
-
#6476 [codex] Fix Ctrl+D EOF behavior in the CLI · superseded by another PR →
#15383 -
#8489 fix: Ctrl+D deletes char under cursor, only exits on empty input (bash/zsh behaviour) · duplicate →
#4783 -
#9252 fix(cli): make Ctrl-D respect Unix EOF semantics · superseded by another PR →
#15383,#4783
Closed issues · 1
- Closed#6448Ctrl+D unconditionally exits CLI session even with text in input buffer
How this cluster was grouped
-
Link evidence (
structural links throughout): every member is connected by structural evidence: shared changed files, or a closing/superseded reference. -
Pairwise link density
0.26: the share of item pairs that carry a link, counting a structural link in full and a relevance-only link at 0.36.1.00means every pair is linked.
Pick up a Lab task
Check whether a fix covers the open issues here, with your own agent. Bring back evidence for maintainers.
Open the LabAt a glance
- Subsystem
- hermes cli
- Merged PRs
- #15383
- Closed issues
- 1
- Attempts
- 5 PRs closed without merging
- Fix link checked
- 24 Apr 2026. This confirmation is old and may be out of date (a revert or reopen would not have invalidated it here); re-verify.