Command Palette
A searchable popup that lists every action you can run and lets you pick one with the keyboard.
The command palette is a popup that lets you discover and run any action without having to remember a keybinding. Open it, type to filter, and press enter to execute. If you've used the command palette in VS Code or the action search in JetBrains, this is the same idea.
It's especially useful for actions that don't have a default keybinding, or that you don't run often enough to remember the exact key chord.
Bind the
toggle_command_palette
action to a key:
keybind = ctrl+shift+p=toggle_command_palette
There is no default keybinding on every platform, so you may want to
pick one that matches your other tools. ctrl+shift+p is conventional.
By default the palette is preloaded with a curated set of Wintty actions that are useful in an interactive setting but typically don't have a quick keyboard shortcut, such as font size resets, scroll-to-prompt helpers, and split focus commands.
You can add your own entries with
command-palette-entry.
Each entry needs a title and an action, and may include an optional
description. Field names and values are separated by colons; fields
are separated by commas; quote values that contain commas or special
characters.
command-palette-entry = title:Reset Font Style, action:csi:0m
command-palette-entry = title:Focus Split Right, description:"Focus the split to the right.", action:goto_split:right
command-palette-entry = title:Ghost, description:"Add a little Ghostty.", action:"text:\xf0\x9f\x91\xbb"
The action grammar is identical to the one used in keybinds, so anything
you can do with a keybind you can also wire up as a palette entry. See
the Keybind Action Reference for the
full catalog.
To clear the default entries entirely and start fresh:
command-palette-entry =
You can then add your own entries after that line, and only those entries will appear in the palette.
Once the palette is open:
- Type to filter by title or description (fuzzy match).
- Use the up/down arrows to move the highlighted entry.
- Press enter to run the highlighted action.
- Press escape to dismiss without running anything.
The palette closes itself after running an action.
The command palette is implemented on all three platforms, but each one has its own UI hookup:
- Windows: the palette is implemented as a WinUI 3 control
(
CommandPaletteControl.xaml). All entries from thecommand-palette-entryconfig are honored. - Linux: the palette uses a libadwaita popup.
Note
On Linux the command palette requires libadwaita 1.5 or newer. You can check the running version with
wintty version. Older libadwaita versions are still supported by Wintty for general use, but the command palette action will be a no-op.
| Option | Purpose |
|---|---|
command-palette-entry | Add (or clear) entries that appear in the palette |
| Action | Purpose |
|---|---|
toggle_command_palette | Open or close the command palette |