#66246
WhichKey dismisses an open modal when a key chord is pending
Reproduction steps
- Enable which-key with a short delay:
"which_key": { "enabled": true, "delay_ms": 0 } - In a file with a language server that supports call hierarchy, place the cursor on a function and press
cmd-k cmd-h(call_hierarchy::ShowIncomingCalls). - With the call hierarchy picker open, try any of its default chords:
cmd-k right(menu::SelectChild),cmd-k left(menu::SelectParent) orcmd-k cmd-h(call_hierarchy::ToggleDirection).
Current vs. Expected behavior
Current: The picker closes as soon as the first cmd-k is pressed, and the second keystroke does nothing.
Expected: The chord runs inside the picker, and the picker stays open.
With a larger delay_ms (e.g. 1000) the chords work if the second key is pressed before which-key appears. If you pause, the picker still closes, so the delay only changes how often this happens.
Zed version and system specs
Zed: v1.25.3+stable.382.8dd255c3eafb5231056fe4e6f601cedd011f1c93 (Zed) OS: macOS 27.0.1 Memory: 48 GiB Architecture: aarch64
Attach Zed log file
N/A – nothing relevant
Relevant Zed settings
settings.json
"which_key": {
"delay_ms": 0,
"enabled": true
},Relevant Keymap
N/A – nothing relevant
(for AI issues) Model provider details
No response
If you are using WSL on Windows, what flavor of Linux are you using?
None
I reproduced this with “Go to Line” on Nightly 1.27.0+nightly.3484 (
5e8998a2), macOS 15.8.1. Cmd-K replaces the open modal with WhichKey, and Escape doesn’t bring it back. I haven’t tested call hierarchy itself.Reproduction and timing control
With
delay_ms: 1000, completing Cmd-K Cmd-Left quickly kept the modal open in my single-pane fixture. Pausing after Cmd-K lost the modal instead. I restored my settings after testing.Screenshots