# Desktop command palette

> Search every action, session, file, panel and setting of the desktop app from one box.

`cmd+k` opens and closes the command palette. Type to search. `up` `down` move, `enter` runs the row, and `esc` closes. Rows show their shortcut.

This demo holds the [fixed entries](#fixed-entries). If you run a row here, the demo only names it.

## What it searches

| Group | Rows | Running one |
| - | - | - |
| Session actions, Navigate, Model, View, Settings, Editor | The app's actions, with their shortcuts. Session actions include Import repository, which clones a git or GitHub URL into a new draft. | Does the action |
| Sessions | Up to 60 sessions: the ones waiting on you, then running ones, then the latest. An empty query shows the first 6, without the current session. | Opens the session |
| Files | Files of the session's folder, by name (`layo res` finds `layout/resolve.ts`), and Go to file… | Opens the file in the Files panel or `$EDITOR`, per Settings › Interface › Files & editor |
| Panels | One row per side-panel tab, with a count when it holds items waiting on you. Also Open side panel, or Close side panel when it is open. | Shows or hides that tab |
| Commands | Every `/` command of the session | Runs it through the composer. A command that takes arguments goes into the composer for you to finish. |
| Windows | Open the session, its conversation or its panels in a new window | Opens the window |
| Browser | Annotate the page | Starts or stops marking the page in the Browser tab |
| Navigate | Switch to space, one per space, with spaces on | Shows that space |
| Extensions | The rows installed extensions add | Runs the extension's action. An error shows as a notice. |

## How rows are ordered

An empty query lists recent picks, then actions and sessions. Files match only once you type. Recent rows also rank higher while you type.

Settings rows show their value in the title (Appearance: System) and change it in place. Rows ending in … open Settings on their tab. Conversation preset opens Focused, Balanced and Detailed, with the one in effect checked. Pick one to set every transcript setting of that preset, and the open session draws again at once.

## Fixed entries

Generated from the app's palette sources, with default shortcuts. Bindings you [change](https://zidane.si/docs/desktop-keyboard.md#rebind-a-key) show in the app.

| Entry | Group | Shortcut | Description |
| - | - | - | - |
| New session | Session actions | `ctrl+n` or `cmd+n` | Leave the active session and start a fresh one. |
| Go to main session | Session actions | `ctrl+shift+m` | Jump to (or lazily create) the pinned "Main" orchestration session for the active directory. |
| Session details | Session actions | `ctrl+shift+x` | Open the session details modal (rename, export, delete). |
| Generate session title | Session actions | `ctrl+shift+t` | Generate a title for the session via the active provider/model. |
| Compact conversation | Session actions | `ctrl+shift+k` | Compact older turns via an LLM summary (model still sees everything from the boundary down). |
| Export session as Markdown | Session actions | `ctrl+shift+e` | Export the session as Markdown under .zidane/sessions/. |
| Export session as JSON | Session actions | `ctrl+shift+j` | Export the session as JSON under .zidane/sessions/. |
| Copy session id | Session actions | `ctrl+shift+c` | Copy the full session id to the clipboard. |
| Toggle favorite | Session actions | None | Add the session to favorites, or remove it. |
| Delete session | Session actions | `ctrl+shift+d` | Delete the entire session (confirm dialog). |
| Cancel a running tool | Session actions | `ctrl+k` | Cancel a running tool call or background task. |
| Select a message | Session actions | `ctrl+s` | Enter select-turn mode to navigate previous messages. |
| New terminal | Session actions | `` ctrl+shift+` `` | Open a new terminal in the session's environment (shows the drawer). |
| Import repository | Session actions | None | Clone a git or GitHub URL and start in it. |
| Show artifacts | Navigate | `ctrl+shift+a` | Toggle the side panel (artifacts the session produced, plus extension panels). |
| Show usage | Navigate | `ctrl+p` | Open the usage panel (rate-limit windows and credits per provider, GitHub API limits). |
| Toggle sidebar | Navigate | `cmd+b` | Show or hide the chats sidebar. |
| Go back | Navigate | `cmd+left` or `cmd+[` | Go back to the conversation shown before, like a browser. |
| Go forward | Navigate | `cmd+right` or `cmd+]` | Go forward again to the conversation you went back from. |
| Next panel tab | Navigate | `ctrl+shift+]` | Cycle to the next side-panel tab (opens the panel). |
| Previous panel tab | Navigate | `ctrl+shift+[` | Cycle to the previous side-panel tab (opens the panel). |
| Next tab | Navigate | `cmd+alt+right` | Next tab where the focus is: open file, changed file, terminal; elsewhere the next space (Spaces on) or side-panel tab. |
| Previous tab | Navigate | `cmd+alt+left` | Previous tab where the focus is: open file, changed file, terminal; elsewhere the previous space (Spaces on) or side-panel tab. |
| Close tab | Navigate | `ctrl+w` or `cmd+w` | Close the open file in Files, the terminal, or else the active side-panel tab. |
| Toggle terminal | Navigate | `` ctrl+` `` or `cmd+j` | Show or hide the terminal drawer under the chat. |
| Split panel tab right | Panels | `cmd+\` | Split the side panel's active tab into a new group on the right. |
| Split panel tab down | Panels | `alt+cmd+\` | Split the side panel's active tab into a new group below. |
| Open side panel | Panels | None | Open the side panel on its last tab. Reads Close side panel while it is open. |
| Change model | Model | `ctrl+m` | Open the cross-provider model picker. |
| Change effort | Model | `ctrl+l` | Open the reasoning-effort picker (when the active model supports it). |
| Cycle agent | Model | `shift+cmd+i` | Cycle to the next agent profile. |
| Open settings | Settings | `cmd+,` | Open the Settings modal (toggles, theme, keybindings). |
| Keyboard shortcuts | Settings | `ctrl+y` | Open the shortcut reference. |
| Show legacy models | Settings | None | List every model a provider serves in the model picker. |
| Appearance: System | Settings | None | Cycle system, light, dark. |
| Reduced motion | Settings | None | Turn reduced motion on or off for the whole app. |
| Files tree on the left | Settings | None | Swap sides. |
| Appearance settings… | Settings | None | Open Settings on the Appearance tab. |
| Conversation preset | Settings | None | Pick Focused, Balanced or Detailed. The open session draws again at once. |
| Zoom in | View | `cmd+plus` | Increase the interface size. |
| Zoom out | View | `cmd+minus` | Decrease the interface size. |
| Reset zoom | View | `cmd+0` | Reset the interface size to 100%. |
| Open session in new window | Windows | None | The session's conversation and side panels in a window of their own. With a session open. |
| Open conversation in new window | Windows | None | Only the conversation, in a window of its own. With a session open. |
| Open side panels in new window | Windows | None | Only the side panels, in a window of their own. With a session open. |
| Go to file… | Files | None | Browse the session folder's file tree in a nested picker and open a file. |
| Edit files in the panel | Editor | None | Turn editing in the Files panel on or off. |
| Word wrap | Editor | None | Wrap long lines in the panel editor. |
| Diagnostics: Project tools | Editor | None | Cycle off, project tools, language servers. |
| Hover documentation | Editor | None | Types and documentation from the language server on hover. |
| Code completion | Editor | None | Suggestions from the language server while you type. |
| Editor settings… | Editor | None | Open Settings on the Editor tab. |

## Reference

- [`PalettePanel`](https://zidane.si/docs/reference/ui-components-palette-palette-panel.md) and [`PaletteList`](https://zidane.si/docs/reference/ui-components-palette-palette-list.md): the kit's palette.
- [Extensions](https://zidane.si/docs/extensions.md): adding your own palette rows from an extension.
