Skip to content

[Enhancement] Add configurable keybinds for dialog actions (#6144) #6143

Closed

Description

@CasualDeveloper

Problem

Several dialog keybinds are hardcoded and cannot be customized:

  • Session list: ctrl+d (delete), ctrl+r (rename)
  • Stash dialog: ctrl+d (delete)
  • Model dialog: ctrl+a (provider list), ctrl+f (favorite toggle)

Users who have conflicts with these keybinds (e.g., ctrl+d for shell EOF, ctrl+r for reverse search) cannot remap them.

Proposed Solution

Add new keybind config options:

  • session_delete - default ctrl+d
  • session_rename - default ctrl+r
  • stash_delete - default ctrl+d
  • model_provider_list - default ctrl+a
  • model_favorite_toggle - default ctrl+f

Usage

{
  "keybinds": {
    "session_delete": "super+d",
    "session_rename": "super+r"
  }
}

Files to Modify

  • packages/opencode/src/config/config.ts
  • packages/opencode/src/cli/cmd/tui/component/dialog-session-list.tsx
  • packages/opencode/src/cli/cmd/tui/component/dialog-stash.tsx
  • packages/opencode/src/cli/cmd/tui/component/dialog-model.tsx
  • packages/opencode/src/util/keybind.ts

Activity

  1. added
    opentuiThis relates to changes in v1.0, now that opencode uses opentui
    on Dec 25, 2025
  2. github-actions commented on Dec 25, 2025

    @github-actions
    Contributor

    This issue might be a duplicate of existing issues. Please check:

    For keybind-related issues, please also check our pinned keybinds documentation: #4997

    Feel free to ignore if none of these address your specific case.

  3. CasualDeveloper commented on Dec 25, 2025

    @CasualDeveloper
    ContributorAuthor

    This also addresses #3262 (configure switch session modal keybinds).

    Related to #4997 (keybinds tracking issue).

  4. changed the title [-]Add configurable keybinds for dialog actions[/-] [+][Enhancement] Add configurable keybinds for dialog actions (#6144)[/+] on Dec 26, 2025
  5. CasualDeveloper commented on Dec 30, 2025

    @CasualDeveloper
    ContributorAuthor

    Will continue rebasing on top of release tags as they're set.

  6. 11 remaining items

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

opentuiThis relates to changes in v1.0, now that opencode uses opentui

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions