Interactive Mode & Keyboard Shortcuts
In-Session Shortcuts
Section titled “In-Session Shortcuts”| Shortcut | Action |
|---|---|
Esc | Stop current response / clear input line |
Esc + Esc | Rewind to previous state (undo last change) |
Shift+Tab | Cycle permission modes (default → acceptEdits → plan → auto) |
Ctrl+C | Interrupt Claude or clear the current input |
Ctrl+D | Exit the session |
Ctrl+V | Paste an image from clipboard |
Ctrl+E | Open current prompt in external editor ($EDITOR) |
Ctrl+O | Toggle transcript / output viewer |
Ctrl+R | Reverse-search command history |
Up / Down | Navigate command history |
Tab | Complete commands and file paths |
Ctrl+T | Toggle the task list |
/ | Open the commands menu |
! | Shell mode prefix — runs command directly (e.g., !git status) |
@ | Mention a file to pull it into context (e.g., @src/app.ts) |
# | Add a quick note to memory |
Esc Escwith empty input opens the rewind menu (08-sessions-and-checkpointing.md); with text in the input it clears the text instead.
Multiline Input
Section titled “Multiline Input”By default, Enter submits. To type a newline:
Shift+Enter— newlineCtrl+Enter— submit (alternative)- Or run
/terminal-setupto install keybindings for your shell
Vim Mode
Section titled “Vim Mode”Enable with /vim or "editorMode": "vim" in settings.json.
| Mode | Key | Action |
|---|---|---|
| Normal | i | Enter insert mode |
| Normal | Esc | Back to normal mode |
| Normal | j/k | Navigate history |
| Insert | Esc | Normal mode |
Customize Keybindings
Section titled “Customize Keybindings”Edit ~/.claude/keybindings.json:
[ { "key": "ctrl+y", "command": "submit" }, { "key": "ctrl+n", "command": "history.next" }, { "key": "ctrl+p", "command": "history.prev" }]Or run /keybindings-help for an interactive setup guide.
Available Command Names for Keybindings
Section titled “Available Command Names for Keybindings”| Command | Default key | Action |
|---|---|---|
submit | Enter | Submit prompt |
newline | Shift+Enter | Insert newline |
history.prev | Up | Previous history item |
history.next | Down | Next history item |
clear | — | Clear input |
interrupt | Ctrl+C | Interrupt Claude |
exit | Ctrl+D | Exit session |
IDE Shortcuts
Section titled “IDE Shortcuts”VS Code:
| Shortcut | Action |
|---|---|
Cmd+/ (macOS) / Ctrl+/ (Win/Linux) | Open Claude input |
Cmd+Shift+P → “Claude Code” | Open in new tab |
JetBrains:
| Shortcut | Action |
|---|---|
Cmd+/ (macOS) / Alt+/ (Win/Linux) | Open Claude input |
🧠 Quick Recall
Section titled “🧠 Quick Recall”- Trick: “Esc stops. Esc-Esc time-travels. Shift+Tab shifts trust.”
👨🏫 Teach It
Section titled “👨🏫 Teach It”- Show: cycle permission modes live with Shift+Tab and narrate each.
- They’ll trip on: Esc-Esc needs an empty input — with text it just clears the text.
Learning path: ⬅ 04-slash-commands.md · Index · ➡ 06-how-claude-code-works.md
Written by Fenil Patel