> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cortex.foundation/llms.txt
> Use this file to discover all available pages before exploring further.

# CLI keyboard shortcuts

> The key bindings in the Cortex CLI, grouped by where they apply: global, the composer, a running turn, the approval prompt, and the dialogs

The terminal app is meant to be driven from the keyboard. A handful of keys cover almost everything: `Shift+Tab` to change what the agent is allowed to do, `Enter` to send or to queue, `Esc` to interrupt or to close, `F2` for settings, and four sigils that open a picker instead of typing text. Everything else is a slash command.

This page groups the bindings by where they apply, because the same key does different things depending on what has focus. It also points out the two places where the sources disagree with each other, so you know to trust the footer strip on your own screen rather than a table on a page.

## The shortcuts sheet in the app

Type `/shortcuts` (alias `keys`) to open the sheet. It is a compact overlay listing the current bindings, with a footer line that reads `Docs & guides: cortex.foundation/docs` followed by the version you are running. `Esc` closes it.

<Warning>
  The footer strip draws `Ctrl+x:shortcuts`, but in the current build `Ctrl+x` clears the queued follow-ups instead of opening the sheet. Until that is settled, open the sheet with `/shortcuts`.
</Warning>

## Global

| Key            | Action                                                      |
| -------------- | ----------------------------------------------------------- |
| `Shift+Tab`    | Cycle the mode: Agent, then Plan, then Ask                  |
| `F2`           | Open Settings                                               |
| `Esc`          | Interrupt a running turn, close a panel, or leave Bash mode |
| `Ctrl+p`       | Open the command palette                                    |
| `Ctrl+r`       | Search past sessions                                        |
| `Ctrl+Shift+C` | Copy                                                        |
| `Ctrl+Shift+V` | Paste                                                       |
| `Ctrl+Q`       | Quit, the same as `/quit`                                   |

`Ctrl+c` is described both as stop and as force-quit in the sources, so treat it as the abrupt option: use `Esc` to interrupt a turn and `Ctrl+Q` or `/quit` to leave cleanly.

## Composer

| Key         | Action                                                         |
| ----------- | -------------------------------------------------------------- |
| `Enter`     | Send the message, or queue it while a turn runs                |
| `Alt+Enter` | Insert a newline                                               |
| `↑`         | Edit your last message, or edit a message already in the queue |
| `Tab`       | Complete a slash command                                       |
| `/`         | Open the command list                                          |
| `@`         | Open the file picker                                           |
| `!`         | Enter Bash mode, where what you type runs in your shell        |
| `&`         | Hand the task off to Cortex Cloud                              |

The four sigils only open something when they start a line. Inside a sentence they are ordinary characters. In Bash mode the prompt sigil changes from `>` to `!`, and `Esc` leaves it.

## While a turn is running

| Key     | Action                                                        |
| ------- | ------------------------------------------------------------- |
| `Esc`   | Interrupt the turn. The timeline records `× Stopped`          |
| `Enter` | Queue what you typed as a follow-up instead of sending it now |
| `↑`     | Edit a queued message                                         |

Queueing is the normal way to work: you do not have to wait for the agent to finish before writing the next instruction.

## Approval prompt

When the agent wants to run something that needs your say-so, a numbered prompt appears inline in the timeline and the composer waits for you.

| Key         | Action                          |
| ----------- | ------------------------------- |
| `↑` and `↓` | Move the selection              |
| `1` to `9`  | Choose an option by its number  |
| `Enter`     | Confirm the selected option     |
| `e`         | Edit the command before it runs |
| `Esc`       | Cancel                          |

Its footer strip is drawn exactly like this, and the same four keys apply to any numbered prompt:

```
 ↑↓:select  |  Enter:confirm  |  e:edit command  |  Esc:cancel
```

What each numbered option means, including what *always allow* remembers, is on [Modes and permissions](/cli/modes-and-permissions).

## Model and effort lists

| Key         | Action                                                          |
| ----------- | --------------------------------------------------------------- |
| `Enter`     | Choose the highlighted model, or apply the effort               |
| `Tab`       | Move from the model list to the reasoning-effort list, and back |
| `↑` and `↓` | Move the selection                                              |
| `Esc`       | Close the list                                                  |

## Settings and other dialogs

Settings and the pickers share one navigation style, and it accepts both arrows and vim-style keys.

| Key                         | Action                                |
| --------------------------- | ------------------------------------- |
| `↑` and `↓`, or `j` and `k` | Move                                  |
| `g` and `G`                 | Jump to the top or the bottom         |
| `Space` or `Enter`          | Toggle the selected row               |
| `→`                         | Expand a submenu                      |
| `/`                         | Search inside Settings                |
| `d`                         | Reset the selected row to its default |
| `F2` or `Esc`               | Close                                 |

`j`, `k`, `g` and `G` are a navigation style inside these panels. There is no vim mode in the CLI and no command that turns one on.

## Sessions, resume and rewind

| Key or command                  | Action                                                              |
| ------------------------------- | ------------------------------------------------------------------- |
| `Ctrl+r`                        | Search past sessions                                                |
| `f`                             | Toggle the favourite mark on the selected row in the sessions panel |
| `/resume`                       | Open the resume picker                                              |
| `Esc` `Esc` in quick succession | Open the rewind overlay                                             |

<Note>
  The resume picker is the one screen where the sources give two different key maps, one with favourite and delete and one with fork and new session. Read the footer strip on your own screen for that panel rather than trusting a table. Everything the picker does is also available as a slash command: `/resume`, `/fork`, `/favorite`, `/delete`.
</Note>

## The footer strip is the live answer

The strip along the bottom of the screen changes with what is in focus: idle, text typed, a narrow terminal, a turn running, the queue, the model list, the effort list, an approval prompt, the MCP panel, the plugins panel, the resume picker and Bash mode all have their own. Each strip shows the keys that apply at that moment, in the form `key:label` separated by vertical bars, and hovering a chunk highlights it.

The strips are deliberately short, so a strip is not the complete list of bindings for that screen, and the set of strips is still growing. When a key you expect is missing, check the strip first and the shortcuts sheet second.

## Related

* [The TUI](/cli/tui): the regions of the screen these keys act on
* [Slash commands](/cli/slash-commands): everything reachable by typing `/`
* [Modes and permissions](/cli/modes-and-permissions): what `Shift+Tab` and the approval prompt decide
* [CLI sessions](/cli/sessions): resume, fork and rewind in detail
* [Themes](/cli/themes): the Settings rows behind `F2`
