Skip to content

Desktop keyboard map

Every desktop app shortcut on macOS and Linux, and how to rebind them.

These tables are generated from the app's source. In the app, Control Y shows the same list, as does ? when you are not typing and no dialog is open. On Linux, cmd is the Super key.

Prompt#

These keys work in the composer.

Prompt shortcuts
ActionKeysDescription
Send messageReturnLinux: EnterSend the message. During a run it waits in the queue, or steers the run when Queue messages is off.
New lineShift ReturnLinux: Shift+EnterStart a new line in the message.
Previous history entryUp ArrowLinux: UpBring back the previous message you sent, from an empty composer.
Next history entryDown ArrowLinux: DownStep forward again through the messages you sent.
Mention a file@Linux: @Open the mention menu to attach a file or folder to the message.
Use a skill/Linux: /Open the slash menu: commands and the skills the agent can use.

Session#

Session shortcuts
ActionKeysDescription
New sessionControl NorCommand NLinux: Ctrl+N or Super+NLeave the active session and start a fresh one.
Back to the main sessionControl Shift MLinux: Ctrl+Shift+MJump to (or lazily create) the pinned "Main" orchestration session for the active directory.
Browse messagesControl SLinux: Ctrl+SEnter select-turn mode to navigate previous messages.
Session detailsControl Shift XLinux: Ctrl+Shift+XOpen the session details modal (rename, export, delete).
Switch agentShift Command ILinux: Shift+Super+ICycle to the next agent profile.
Switch modelControl MLinux: Ctrl+MOpen the cross-provider model picker.
Reasoning effortControl LLinux: Ctrl+LOpen the reasoning-effort picker (when the active model supports it).
Todo listControl TLinux: Ctrl+TOpen the Inbox: what waits on you, the plan in progress and the recent ones.
ArtifactsControl Shift ALinux: Ctrl+Shift+AToggle the side panel (artifacts the session produced, plus extension panels).
Stop the current workControl KLinux: Ctrl+KCancel a running tool call or background task.

Session actions#

Session actions shortcuts
ActionKeysDescription
Generate titleControl Shift TLinux: Ctrl+Shift+TGenerate a title for the session via the active provider/model.
Compact conversationControl Shift KLinux: Ctrl+Shift+KCompact older turns via an LLM summary (model still sees everything from the boundary down).
Export as MarkdownControl Shift ELinux: Ctrl+Shift+EExport the session as Markdown under .zidane/sessions/.
Export as JSONControl Shift JLinux: Ctrl+Shift+JExport the session as JSON under .zidane/sessions/.
Copy session idControl Shift CLinux: Ctrl+Shift+CCopy the full session id to the clipboard.
Add to or remove from favoritesUnboundAdd the session to favorites, or remove it.
Delete sessionControl Shift DLinux: Ctrl+Shift+DDelete the entire session (confirm dialog).

Panels and tabs#

Panels and tabs shortcuts
ActionKeysWhereDescription
Next panelControl Shift ]Linux: Ctrl+Shift+]AnywhereCycle to the next side-panel tab (opens the panel).
Previous panelControl Shift [Linux: Ctrl+Shift+[AnywhereCycle to the previous side-panel tab (opens the panel).
Next tab, file or terminal (else next space)Command Option Right ArrowLinux: Super+Alt+RightFocused areaNext tab where the focus is: open file, changed file, terminal; elsewhere the next space (Spaces on) or side-panel tab.
Previous tab, file or terminal (else previous space)Command Option Left ArrowLinux: Super+Alt+LeftFocused areaPrevious tab where the focus is: open file, changed file, terminal; elsewhere the previous space (Spaces on) or side-panel tab.
Close tab, file or terminalControl WorCommand WLinux: Ctrl+W or Super+WFocused areaClose the open file in Files, the terminal, or else the active side-panel tab.
Split the panel tab rightCommand \Linux: Super+\AnywhereSplit the side panel's active tab into a new group on the right.
Split the panel tab downOption Command \Linux: Alt+Super+\AnywhereSplit the side panel's active tab into a new group below.
Find in the file or diffs (in Files and Diffs)Command ForControl FLinux: Super+F or Ctrl+FFiles, DiffsFind text in the open file or in the diffs.
Search across files (in Files and Diffs)Command Shift ForControl Shift FLinux: Super+Shift+F or Ctrl+Shift+FFiles, DiffsSearch across the workspace files.
Show or hide the terminalControl `orCommand JLinux: Ctrl+` or Super+JAnywhereShow or hide the terminal drawer under the chat.
New terminalControl Shift `Linux: Ctrl+Shift+`AnywhereOpen a new terminal in the session's environment (shows the drawer).
Annotate the page (in the Browser tab)Command .Linux: Super+.AnywhereMark elements and areas of the page in the Browser tab for the agent, or stop marking.

App#

App shortcuts
ActionKeysDescription
Command paletteCommand KLinux: Super+KToggle the command palette: search every action, command, panel, session and setting.
Show or hide the sidebarCommand BLinux: Super+BShow or hide the chats sidebar.
Back to the previous conversationCommand Left ArroworCommand [Linux: Super+Left or Super+[Go back to the conversation shown before, like a browser.
Forward to the next conversationCommand Right ArroworCommand ]Linux: Super+Right or Super+]Go forward again to the conversation you went back from.
UsageControl PLinux: Ctrl+POpen the usage panel (rate-limit windows and credits per provider, GitHub API limits).
SettingsCommand ,Linux: Super+,Open the Settings modal (toggles, theme, keybindings).
KeybindingsControl Yor?Linux: Ctrl+Y or ?Open the shortcut reference.
Zoom inCommand PlusLinux: Super+=Increase the interface size.
Zoom outCommand MinusLinux: Super+-Decrease the interface size.
Reset zoomCommand 0Linux: Super+0Reset the interface size to 100%.

Keys you cannot rebind#

These keys act only where shown and are not in keybindings.json.

WhereKeys
Anywhere but a dialogCommand F finds in the conversation, unless Files, Diffs or the editor has the focus
Tool approvalCommand Return Allow once, Command Shift Return Always allow, Escape Deny
File edit approvalA Allow, S Allow for session, P Always allow, D or Escape Deny
Browsing messages (Control S)Up Arrow Down Arrow move, Return details, C copy, F fork, Escape exit
Conversation searchReturn next match, Shift Return previous, Escape close
Editing a queued messageReturn save, Shift Return new line, Command Return send now, Escape cancel
Model pickerTab add or remove a fallback, Control Shift Up Arrow Control Shift Down Arrow reorder
Files and DiffsCommand Return attach a review comment, Command S save the open file
Composer, empty! shell mode, ? search the transcript
Command paletteUp Arrow Down Arrow move, Return run, Escape close

Rebind a key#

Both apps read the same keybindings.json (location, format).

  1. In Settings › Interface › Keybindings (read-only), click Edit in file.
  2. Change a binding and save the file.
  3. Click Reload. The desktop app applies the keys at once.

The TUI reads the file only at start. Restart the TUI to pick up the change.

Settings, Keybindings tab: every shortcut by group, with Edit in file and Reload.

Reference#