Skip to content

Conversation

@nwthomas
Copy link
Contributor

@nwthomas nwthomas commented Oct 31, 2025

I have another PR for v0 changes pointed at branch v0: #3594

Problem

Pressing ctrl+d should terminate OpenCode. Claude Code and Codex support similar behavior (Claude Code with two presses, Codex with one), and Unix tools typically require one press to exit programs as well.

See #3025 for more details of the problem statement.

Solution

I've leveraged existing new OpenTUI keybindings to implementing both input_forward_delete (new functionality) and add ctrl+d to the existing app_exit event.

Testing

Below is videos showing testing on all major platforms.

MacOS 15.7.1 Windows 11 (26120.6982) Linux (Ubuntu 24.04)
Screen.Recording.2025-10-31.at.2.12.28.PM.mov
Screen.Recording.2025-10-31.at.2.20.23.PM.mov
Screencast.from.2025-10-31.14-28-11.webm

@nwthomas nwthomas force-pushed the feat/allow-ctrl-d-app-exit-opentui branch 3 times, most recently from c48af01 to 0332d51 Compare October 31, 2025 21:04
@nwthomas nwthomas changed the title feat: allow ctrl+d to exit the app feat: allow ctrl+d to exit the app (OpenTUI) Oct 31, 2025
@nwthomas nwthomas marked this pull request as ready for review October 31, 2025 21:24
This adds support for ctrl+d to exit the app. It follows the unix convention
of only requiring a single press of the command. Additionally, it updates
the help menu to reflect the new keybind.
@nwthomas nwthomas force-pushed the feat/allow-ctrl-d-app-exit-opentui branch from 0332d51 to e027333 Compare October 31, 2025 21:25
@rekram1-node rekram1-node changed the title feat: allow ctrl+d to exit the app (OpenTUI) feat: allow ctrl+d to exit the app Oct 31, 2025
@rekram1-node
Copy link
Collaborator

Tested, works great

@rekram1-node rekram1-node merged commit e630d68 into sst:dev Oct 31, 2025
3 checks passed
junkfactory pushed a commit to junkfactory/opencode that referenced this pull request Nov 2, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants