---
title: "Keyboard Shortcuts"
description: "Complete reference for keyboard shortcuts in Devin for Terminal"
icon: "keyboard"
---

## Input Shortcuts

These shortcuts work while typing at the prompt.

| Shortcut | Description |
|----------|-------------|
| `Enter` | Submit your message |
| `Shift+Enter`* or `Alt+Enter` | Insert a newline (for multi-line input) |
| `Shift+Tab` | Cycle between modes (Normal, Accept Edits, Plan, Bypass, Autonomous) |
| `Ctrl+C` | Cancel current input (clears text), or cancel running agent |
| `Ctrl+D` | Exit (when input is empty) |
| `Esc` | Cancel running agent |
| `Ctrl+G` | Open external editor for composing your message |
| `Ctrl+O` | Open full-screen viewer for the thinking trace |
| `Ctrl+L` | Redraw / refresh the screen |
| `Ctrl+V` | Paste image from clipboard (images appear in input area; use Left/Right to navigate, Backspace to remove) |
| `!` | Enter bash mode to run a shell command directly (when input is empty). Press `Backspace` or `Esc` on an empty input to exit bash mode |
| `@` | Open file/directory autocomplete to add context |

<Note>
On macOS, `Alt` is the `Option` key. Some shortcuts below use `Alt` (Option) as a modifier. We recommend [configuring Option as Meta](/reference/terminal-compatibility#configuring-option-as-meta-on-macos) for the best experience.
</Note>

\* Requires a [compatible terminal](/reference/terminal-compatibility). Terminals that do not support the Kitty keyboard protocol cannot distinguish `Shift+Enter` from `Enter`. Use `Alt+Enter` or `Ctrl+J` instead.

---

## Mode & Model Shortcuts

| Shortcut | Description |
|----------|-------------|
| `Shift+Tab` | Cycle to the next mode (Normal &rarr; Accept Edits &rarr; Plan &rarr; Bypass &rarr; Autonomous &rarr; Normal) |
| `Alt+T` (macOS: `Opt+T`) | Cycle thinking level for the current model |

You can also switch modes with slash commands: `/normal`, `/plan`, `/bypass`, or `/mode <name>`. Use `/ask <question>` as a oneshot command to ask questions without switching modes.

---

## Text Editing

The input uses Emacs-style keybindings for text editing.

### Cursor Movement

| Shortcut | Description |
|----------|-------------|
| `Left` or `Ctrl+B` | Move backward one character |
| `Right` or `Ctrl+F` | Move forward one character |
| `Alt+Left` or `Alt+B` or `Ctrl+Left` | Move backward one word |
| `Alt+Right` or `Alt+F` or `Ctrl+Right` | Move forward one word |
| `Home` or `Ctrl+A` | Move to beginning of line |
| `End` or `Ctrl+E` | Move to end of line |
| `Up` or `Ctrl+P` | Move to previous line (or browse history when on first line) |
| `Down` or `Ctrl+N` | Move to next line |

### Deleting Text

| Shortcut | Description |
|----------|-------------|
| `Backspace` or `Ctrl+H` | Delete character before cursor |
| `Delete` or `Ctrl+D` | Delete character at cursor |
| `Ctrl+K` | Kill (cut) from cursor to end of line |
| `Ctrl+U` | Kill (cut) from cursor to beginning of line |
| `Alt+D` or `Alt+Delete` or `Ctrl+Delete` | Kill (cut) word forward |
| `Alt+Backspace` or `Ctrl+Backspace` | Kill (cut) word backward |
| `Ctrl+W` | Kill (cut) word backward (whitespace-delimited) |

### Text Manipulation

| Shortcut | Description |
|----------|-------------|
| `Ctrl+T` | Transpose (swap) characters around cursor |
| `Alt+U` | Uppercase the current word |
| `Alt+L` | Lowercase the current word |
| `Alt+C` | Capitalize the current word |

---

## Autocomplete Menu

When the autocomplete menu appears (e.g., after typing `/` or `@`):

### Passive Mode (ghost text shown, not yet inserted)

| Shortcut | Description |
|----------|-------------|
| `Tab` | Accept and insert the completion |
| `Down` or `Ctrl+N` | Move to next item and insert |
| `Up` or `Ctrl+P` | Move to previous item and insert |
| `Shift+Tab` | Move to previous item and insert |
| `Right` or `Ctrl+F` | Accept if cursor is at end of input |
| `Esc` | Dismiss the menu |

### Active Mode (completion is inserted in buffer)

| Shortcut | Description |
|----------|-------------|
| `Tab` or `Down` or `Ctrl+N` | Cycle to next completion |
| `Shift+Tab` or `Up` or `Ctrl+P` | Cycle to previous completion |
| `Enter` or `Right` or `Ctrl+F` | Accept the current completion |
| `Esc` | Dismiss and revert |

---

## Tool Approval Prompt

When the agent requests permission to run a tool:

| Shortcut | Description |
|----------|-------------|
| `Enter` | Select the highlighted option |
| `Up` / `Down` | Navigate options |
| `1`-`9` | Jump to option by number (press `Enter` to confirm) |
| `Esc` or `Ctrl+C` | Reject the tool call |

---

## Subagent Panel

When subagents are running in the background, you can view them in the subagent panel.

### Opening the Panel

| Shortcut | Description |
|----------|-------------|
| `Down` (from input) | Focus the subagent indicator (when subagents exist) |
| `Enter` (on indicator) | Open the subagent panel |

### Selector Mode (choosing a subagent)

| Shortcut | Description |
|----------|-------------|
| `Up` / `k` / `Shift+Tab` / `Ctrl+P` | Move up |
| `Down` / `j` / `Tab` / `Ctrl+N` | Move down |
| `Enter` | View selected subagent |
| `f` | Foreground a background subagent |
| `x` | Cancel the selected subagent |
| `Esc` or `Ctrl+C` | Close the panel |

### View Mode (viewing a subagent)

| Shortcut | Description |
|----------|-------------|
| `f` | Foreground the subagent |
| `x` | Cancel the subagent |
| `Esc` or `Ctrl+C` | Go back to selector |

---

## Running Agent

While the agent is actively working:

| Shortcut | Description |
|----------|-------------|
| `Ctrl+C` or `Esc` | Cancel / interrupt the agent |
| `Ctrl+B` | Move a foreground subagent to the background |

---

## Agent Question Panel

When the agent asks a multi-choice question, these shortcuts are available:

| Shortcut | Description |
|----------|-------------|
| `Up` / `Down` | Move between options |
| `Space` | Toggle selection (multi-select questions) |
| `e` or `Shift+Enter` | Type a custom answer for the selected option |
| `Enter` | Submit your answer |
| `Esc` | Cancel typing / exit text editing |
| `?` | Ask the agent to help you decide |
| `Tab` / `Shift+Tab` | Navigate between questions (multi-question panels) |
