Skip to content

Interactive Mode & Keyboard Shortcuts

ShortcutAction
EscStop current response / clear input line
Esc + EscRewind to previous state (undo last change)
Shift+TabCycle permission modes (default → acceptEdits → plan → auto)
Ctrl+CInterrupt Claude or clear the current input
Ctrl+DExit the session
Ctrl+VPaste an image from clipboard
Ctrl+EOpen current prompt in external editor ($EDITOR)
Ctrl+OToggle transcript / output viewer
Ctrl+RReverse-search command history
Up / DownNavigate command history
TabComplete commands and file paths
Ctrl+TToggle 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 Esc with empty input opens the rewind menu (08-sessions-and-checkpointing.md); with text in the input it clears the text instead.

By default, Enter submits. To type a newline:

  • Shift+Enter — newline
  • Ctrl+Enter — submit (alternative)
  • Or run /terminal-setup to install keybindings for your shell

Enable with /vim or "editorMode": "vim" in settings.json.

ModeKeyAction
NormaliEnter insert mode
NormalEscBack to normal mode
Normalj/kNavigate history
InsertEscNormal mode

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.

CommandDefault keyAction
submitEnterSubmit prompt
newlineShift+EnterInsert newline
history.prevUpPrevious history item
history.nextDownNext history item
clearClear input
interruptCtrl+CInterrupt Claude
exitCtrl+DExit session

VS Code:

ShortcutAction
Cmd+/ (macOS) / Ctrl+/ (Win/Linux)Open Claude input
Cmd+Shift+P → “Claude Code”Open in new tab

JetBrains:

ShortcutAction
Cmd+/ (macOS) / Alt+/ (Win/Linux)Open Claude input
  • Trick:Esc stops. Esc-Esc time-travels. Shift+Tab shifts trust.”
  • 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