Windows Which-Key is a Windows desktop shortcut hint tool: hold a modifier key and see the shortcuts available in the foreground app. It does not execute or block regular shortcuts.
- See app-specific shortcuts without memorizing every keymap.
- Built-in support for Codex, Claude Code, Chrome / Edge, Windows Terminal, VS Code, Word, Excel, and PowerPoint.
- Add or override shortcuts with small, data-only TOML plugins.
- Keep Windows global shortcuts visible alongside app shortcuts.
Read in English: README.md
Read in Chinese: README.zh-CN.md
- Windows 10 or later.
- Microsoft Edge WebView2 Runtime installed.
- Rust toolchain only if you run from source.
Use one of the release packages from GitHub Releases:
- NSIS installer: run
which-key-windows-setup.exe. It installs the app, creates Start Menu and desktop shortcuts, and registers an uninstaller. - Portable zip: unzip
which-key-windows-v1.5.2-windows-x64.zipand runwhich-key-windows.exe. - Source build: clone the repository and run
cargo run --bin which-key-windows.
The latest release includes both the installer and the portable zip. WebView2 Runtime is required.
Pick the path that fits how you want to use the app:
- Installer: best for regular use. It installs to
Program Files, creates Start Menu and desktop shortcuts, and gives you a normal uninstall entry. - Portable zip: best for trying the app or keeping it on a USB drive. Unzip and run the executable directly.
- Run from source: best for development or local debugging. Use
cargo run --bin which-key-windows.
For daily use, the app is designed around three main actions:
- Hold a modifier key to show shortcuts for the active app.
- Press
Win+Shift+/to open the full shortcut panel. - Use the tray icon to reload config, open the control panel, or quit.
Run from the project root:
cargo run --bin which-key-windowsHold the configured modifier key to show shortcuts for the foreground app, then release to hide them. Win+Shift+/ opens the “show all” panel so you can inspect shortcuts such as F2 and F12. Press Esc to close that panel.
Global configuration lives at %APPDATA%\which-key-windows\which-key.toml.
User plugins live in:
%APPDATA%\which-key-windows\plugins\
Built-in plugins cover Codex Desktop, Codex CLI, Claude Code, Chrome / Edge, Windows Terminal, VS Code, Word, Excel, and PowerPoint. Windows global shortcuts are merged with the active app's shortcuts.
Open the control panel with Win+Shift+C or from the tray icon. From there you can open the config file, open the plugin directory, import/export plugin bundles, create a plugin template, edit user plugins, adjust the theme, and toggle autostart.
Each plugin is a *.toml file placed directly in the plugins directory. Plugins are data-only: they cannot execute code, commands, or scripts.
schema_version = 1
id = "my-editor"
name = "My Editor"
processes = ["myeditor.exe"]
[[bindings]]
keys = ["Ctrl+P"]
description = "Open file"
category = "Common"
priority = "essential"
[[bindings]]
keys = ["Ctrl+Shift+P", "F1"]
description = "Open command palette"
category = "Common"
priority = "recommended"
[[bindings]]
keys = ["Ctrl+K", "Ctrl+F"]
description = "Format selection"
category = "Formatting"
priority = "recommended"
sequence = trueschema_version must be 1. id, name, processes, and each binding's keys, description, category, and priority are required. Valid priorities are essential, recommended, and advanced.
If a user plugin has the same id as a built-in plugin, it overrides the matching bindings and keeps the rest.
schema_version = 1
id = "vscode"
name = "My VS Code"
processes = ["Code.exe"]
[[bindings]]
keys = ["Ctrl+P"]
description = "Quick open project files"
category = "Common"
priority = "essential"To disable a built-in plugin completely, create a user plugin file with the same id and set disabled = true.
The repository ships Windows release packages as GitHub Release assets. Download the latest installer or the portable zip.
- Installer: run
which-key-windows-setup.exeand follow the prompts. - Portable: unzip
which-key-windows-v1.5.2-windows-x64.zipand runwhich-key-windows.exe.
Package contents are intentionally small:
which-key-windows.exeREADME.mdREADME.zh-CN.md
The installer also creates Start Menu and desktop shortcuts.
The app creates its config and plugin folders under %APPDATA%\which-key-windows\ on first launch.
- Invalid user plugins are skipped with a warning; other plugins still load.
- Invalid built-in plugins or global config block startup.
- If WebView2 errors appear or the window does not show, repair WebView2 Runtime and try again.
Bug reports, shortcut corrections, new built-in plugin ideas, and code contributions are welcome. See CONTRIBUTING.md before opening an issue or pull request.
If this project helps you, consider giving it a star on GitHub.
folke/which-key.nvim WhichKey helps you remember your Neovim keymaps, by showing available keybindings in a popup as you type.
