# Keyboard Shortcuts

> Quick reference for crystl keyboard shortcuts.

The shortcut scheme follows a simple model: `Cmd` works at the gem (project tab) level, `Cmd + Ctrl` works at the shard (session) level, and `Cmd + D` / `Cmd + Opt` handle split panes.

## Gems (project tabs)

| Shortcut | Action |
|----------|--------|
| `Cmd + T` | New gem |
| `Cmd + W` | Close gem (or the focused pane when split) |
| `Cmd + 1-9` | Jump to gem by position |
| `Cmd + Shift + ]` | Next gem |
| `Cmd + Shift + [` | Previous gem |

## Shards (sessions within a gem)

| Shortcut | Action |
|----------|--------|
| `Cmd + Ctrl + T` | New shard |
| `Cmd + Ctrl + W` | Close shard |
| `Cmd + Shift + T` | Resurrect the most recently closed shard (undo-close) |
| `Cmd + Ctrl + 1-9` | Jump to shard by position |
| `Cmd + Ctrl + ]` | Next shard |
| `Cmd + Ctrl + [` | Previous shard |

## Split panes

| Shortcut | Action |
|----------|--------|
| `Cmd + D` | Split / unsplit toggle |
| `Cmd + Opt + Left` | Move focus to the left pane |
| `Cmd + Opt + Right` | Move focus to the right pane |

`Cmd + D` changed in v2.75.0. In older versions it made a new shard, now it toggles a split pane. To make a new shard, use `Cmd + Ctrl + T`.

## Terminal

| Shortcut | Action |
|----------|--------|
| `Cmd + K` | Clear screen and scrollback (keeps the shell prompt) |
| `Cmd + F` | Find in scrollback |
| `Cmd + +` | Increase font size |
| `Cmd + -` | Decrease font size |
| `Cmd + 0` | Reset font size |
| `Cmd + Ctrl + F` | Toggle full screen |
| `Cmd + Y` | Toggle the chat dock for the focused shard |
| `Cmd + Shift + C` | Copy selection |
| `Cmd + Shift + V` | Paste |
| `Cmd + click` | Open a file path or URL under the pointer |

`Cmd + Y` opens a chat-style view of the agent conversation for the focused shard, read from the transcript rather than the terminal renderer — handy for reading and driving the conversation without the TUI.

`Cmd + F` opens a find bar over the terminal. Type to search, `Enter` / `Shift + Enter` jump to the next / previous match, a count shows how many matches were found, and `Esc` closes the bar.

`Cmd + K` and `Cmd + F` are claimed by crystl at the app level (the same way iTerm and Warp claim them), so they won't reach the program running in the terminal.

## Facet inserts

| Shortcut | Action |
|----------|--------|
| `Cmd + Opt + 1` | Fire the facet insert bound to bar slot 1 into the active shard |
| `Cmd + Opt + 2` | Fire the facet insert bound to bar slot 2 |
| `Cmd + Opt + 3` | Fire the facet insert bound to bar slot 3 |

## Approval management

| Shortcut | Action |
|----------|--------|
| `Cmd + Enter` | Allow current approval |
| `Cmd + Delete` | Deny current approval |
| `Cmd + Shift + Enter` | Allow all queued approvals |

## App

| Shortcut | Action |
|----------|--------|
| `Cmd + ,` | Open settings |
| `Cmd + Q` | Quit crystl |
| Hold `Option` at launch | Fresh start — open with no restored gems |

---
Source: https://crystl.dev/docs/keyboard-shortcuts/
