# Keyboard Shortcuts

[Docs](https://www.rightnowai.co/docs) / [RightNow Agent](https://www.rightnowai.co/docs/agent) / [Keyboard Shortcuts](https://www.rightnowai.co/docs/keyboard-shortcuts)

Updated 2026-10-17

> **Release status**
>
> RightNow Agent, the terminal coding agent, is paused. Its guides stay online as reference.

Find the shortcut for the pane you are using, then check its state-specific action.

Bindings are built in and cannot be remapped. The shortcuts bar at the bottom of the TUI shows the keys for the current pane and state.

[Composer](https://www.rightnowai.co/docs/keyboard-shortcuts#composer)
[Navigation modes](https://www.rightnowai.co/docs/keyboard-shortcuts#simple-and-vim-navigation)
[Scrollback](https://www.rightnowai.co/docs/keyboard-shortcuts#scrollback)
[Questions and permissions](https://www.rightnowai.co/docs/keyboard-shortcuts#blocking-cards)
[Panes and global actions](https://www.rightnowai.co/docs/keyboard-shortcuts#panes-and-global-actions)
[Image paste](https://www.rightnowai.co/docs/keyboard-shortcuts#image-paste)
[Welcome screen](https://www.rightnowai.co/docs/keyboard-shortcuts#welcome-screen)
[Agent Dashboard](https://www.rightnowai.co/docs/keyboard-shortcuts#agent-dashboard)
[Mouse](https://www.rightnowai.co/docs/keyboard-shortcuts#mouse)

## Simple and vim navigation

**Simple and vim navigation**

| Action | Simple mode | Vim mode |
| --- | --- | --- |
| Previous / next entry | Up / Down | k / j |
| Previous / next user turn | Shift+Left / Shift+Right | H / L |
| Previous / next assistant response | No single-key binding | K / J |
| Collapse / expand | Left / Right | h / l |
| Top / bottom | Use page scrolling | g / G |
| Focus composer | Space or type a letter | i, Tab, or Space |

Simple mode is the default. Toggle vim navigation with `/vim-mode` or set `vim_mode = true` under `[ui]` in `~/.rightnow/config.toml`. Single-letter scrollback keys need vim mode; arrows, Tab, Esc, Space, PageUp, PageDown, and Ctrl shortcuts work in both.

## Composer

**Composer keys**

| Key | Action |
| --- | --- |
| Enter | In normal input mode, send while idle or queue the draft during a turn. While blocked on a background task or subagent, send the draft as the next turn. On an empty composer mid-turn, send the first queued item now. |
| Ctrl+Enter / Ctrl+I | Send now: cancel the foreground turn and send the current or first queued message next, keeping background tasks, subagents, and the remaining queue. VS Code-family terminals use Ctrl+L; Apple Terminal adds Ctrl+O. |
| Ctrl+M | Toggle multiline mode. In that mode, Enter adds a line and Shift+Enter or Alt+Enter sends. Empty-composer Enter still sends a queued item during a turn. |
| Shift+Tab | Cycle Normal, Plan, Auto, and Always-approve. Skip Auto when disabled and Always-approve when policy blocks it. A visible planning hint can take the next press directly to Plan. |
| Tab | Move focus to scrollback. |
| Up | On an empty normal composer, open prompt history with the newest item loaded. |
| ! | On an empty composer, enter shell mode. |
| Ctrl+C | With the composer focused, clear a non-empty draft first; with an empty composer, cancel the running turn. During cancellation, Ctrl+C quits. |
| Esc Esc | While idle in normal input mode, with no overlay or prompt-history search: press twice within 800 ms to clear a focused non-empty prompt, or open rewind from an empty prompt when the session has messages. Rewind is suppressed for about 1 second after cancellation. |
| Ctrl+Z | Undo the last edit, such as a cleared draft. |

With `[ui] follow_up_behavior = "queue"`, queued follow-ups wait for the current turn to end. With `"steer"`, they can enter the running turn at the next tool or model safe gap. Send now interrupts the foreground turn.

## Scrollback

**Scrollback keys**

| Key | Action |
| --- | --- |
| PageUp / PageDown | Scroll one page, also from an ordinary focused composer. |
| Ctrl+K / Ctrl+J | Scroll one line without changing the selected entry. |
| Ctrl+U / Ctrl+D | Scroll half a page. VS Code-family terminals use Shift+D in vim navigation; use PageDown in simple mode. |
| Enter / Ctrl+F | Open the selected block in the fullscreen viewer. |
| Ctrl+E | Expand or collapse all thinking blocks. |
| y / Y | In vim mode, copy the selected block, or its metadata such as the command that ran. |
| Tab | Return focus to the composer. |

## Blocking cards

**Blocking card keys**

| Context | Keys | Action |
| --- | --- | --- |
| All cards | Tab / Shift+Tab | Cycle the current card's rows without moving to another pane. |
| Question | Arrows, 1-9, a-f, Enter | Move through questions, choose an answer, or submit free text. |
| Permission | Arrows, 1-9, Enter | Select a permission response. Ctrl+O enables always-approve when policy permits; Ctrl+C cancels the request. |
| Cancel turn | Arrows, 1-4, Enter | Choose what to cancel. Esc keeps everything running. |
| Question options | Esc | Clear the current selection first, then park focus in scrollback. Tab returns to the card. In a dashboard session overlay, Esc on the first question returns to the dashboard. |
| Permission options | Esc | Park focus in scrollback without approving or denying. Tab returns to the card. |

## Panes and global actions

**Pane and global keys**

| Key | Action |
| --- | --- |
| Ctrl+P | Open the command palette. With scrollback focused, ? also opens it. |
| Ctrl+M | With scrollback focused, Ctrl+M opens the model picker; with the composer focused, it toggles multiline input. |
| Ctrl+O | Toggle always-approve for the session; enabling it requires policy to permit it. |
| Ctrl+. / Ctrl+X | Ctrl+X opens keyboard shortcuts help when the terminal cannot pass Ctrl+. |
| F2 / Ctrl+, / Cmd+, | F2 opens settings; Ctrl+, and Cmd+, are alternate bindings. |
| Ctrl+S | Open the session picker. |
| Ctrl+; / Ctrl+' | Toggle the prompt queue when it is non-empty. Local macOS VS Code-family terminals use Ctrl+4. |
| Ctrl+T | Toggle the todos pane. |
| Ctrl+G | Toggle the tasks pane in the full TUI. In minimal mode, edit the draft in an external editor. |
| Ctrl+B | Send the running foreground command to the background. |
| Ctrl+L | Open the extensions manager for MCP servers and plugins. VS Code-family terminals use /plugins instead. |
| Ctrl+\\ | Open or close the Agent Dashboard. |
| Ctrl+N | Arm new-session creation; press again within 1 second to confirm. |
| Ctrl+Q | Arm quit; press again within 2.5 seconds. VS Code-family terminals use Ctrl+D. |

## Image paste

**Image paste keys**

| Action | Windows | macOS | Linux |
| --- | --- | --- | --- |
| Paste a screenshot or copied image | Alt+V | Cmd+V | Ctrl+V |
| Paste a copied image file | Ctrl+V | Cmd+V | Ctrl+V |
| Drag an image into the composer | Explorer | Finder | Files or Dolphin |

Other file types insert their absolute path as text. Windows Terminal defaults to text-only Ctrl+V; Alt+V reads an image clipboard.

## Welcome screen

**Welcome screen keys**

| Key | Action |
| --- | --- |
| Ctrl+S | Open the session picker. |
| Ctrl+W | Open New Worktree inside a git repository. |
| Ctrl+I | Import Claude settings when offered. |
| Ctrl+Shift+I | Dismiss the import row when offered. |

## Agent Dashboard

**Agent Dashboard keys**

| Key | Action while the dashboard is focused |
| --- | --- |
| Up / Down / j / k | Select an agent row and open its peek. |
| Enter | Open the selected agent, or send the typed reply or dispatch prompt. |
| Ctrl+S | Send the reply or dispatch prompt and attach to the agent. |
| Ctrl+/ | Toggle search and filter input. |
| Ctrl+R | Rename the selected top-level session. |
| Ctrl+T | Pin or unpin the selected agent. |
| Ctrl+G | Group by state or working directory. |
| Ctrl+X | Busy top-level session: stop its turn, child agents, background work, schedules, and queued prompts. Idle deletable row: double-press within 2 seconds to permanently delete. |
| Ctrl+O | Toggle always-approve for the selected loaded top-level session when policy permits. Roster-only rows do not change. |
| Tab | Move focus between the list and the reply or dispatch input. |
| Esc | Step back through search, peek, filter, focus and selection before exiting. |
| Ctrl+\\ | Exit the dashboard or return from an attached agent. |
| Ctrl+. / ? | Show dashboard shortcuts. |

## Mouse

Click a scrollback entry to select it, use the wheel to scroll, or click the composer to focus it. On Linux X11 or XWayland, middle-click pastes PRIMARY when DISPLAY is set. See [Terminal Support](https://www.rightnowai.co/docs/terminal-support) for clipboard routes and SSH.

Opt-in: with `mouse_reporting_toggle = true` under `[ui]`, `Ctrl+R` in the scrollback toggles mouse reporting so the terminal handles selection and copy natively.

> **Warning: Escape depends on state**
>
> While a turn is running, `Esc` cancels at once and keeps the draft in minimal mode and in the default simple scrollback mode. In fullscreen vim mode it does not start cancellation; use `Ctrl+C`. Once cancellation is pending, `Esc` retries it in every mode. Open menus, searches, selections, and cards take Escape first.

## Related

- [Interactive TUI](https://www.rightnowai.co/docs/interactive)
- [Slash Commands](https://www.rightnowai.co/docs/slash-commands)
- [Terminal Support](https://www.rightnowai.co/docs/terminal-support)
- [Agent Dashboard](https://www.rightnowai.co/docs/dashboard)

## Next task

[Send and manage a prompt](https://www.rightnowai.co/docs/interactive) in the interactive guide.

## Previous

[Interactive TUI](https://www.rightnowai.co/docs/interactive)

## Next

[Headless Mode](https://www.rightnowai.co/docs/headless)
