Claude Code keyboard shortcuts
Claude Code spends most of its time waiting for a decision, running a tool, or holding a prompt. These official interactive-mode shortcuts cover interrupts, rewinds, mode changes, multiline input, terminal-style editing, and transcript navigation.
Windows, macOS, Linux · 52 shortcutsSession control
Stop, background, redraw, and leave a session safely while preserving the work already completed.
| Action | Windows | macOS | Linux |
|---|---|---|---|
| Interrupt Claude mid-turnKeeps work completed so far. | Esc | Esc | Esc |
| Cancel current input or generationThe first press clears a draft or stops work. A second press exits. | CtrlC | CtrlC | CtrlC |
| Clear a draft, or open the rewind menu when the prompt is empty | EscEsc | EscEsc | EscEsc |
| Stop background agents and artifact repliesRepeat the sequence to confirm. | CtrlXCtrlK | CtrlXCtrlK | CtrlXCtrlK |
| Move a running Bash command to the background | CtrlB | CtrlB | CtrlB |
| Exit the sessionClaude Code asks for confirmation when needed. | CtrlD | CtrlD | CtrlD |
| Redraw the terminal screen | CtrlL | CtrlL | CtrlL |
| Toggle the task checklist | CtrlT | CtrlT | CtrlT |
| Stash or restore the current prompt | CtrlS | CtrlS | CtrlS |
| Suspend Claude Code to the shellUnix shells resume with fg. Claude Code does not list a Windows default for this action. | Not documented | CtrlZ | CtrlZ |
| Move between dialog tabsRight moves the other way. | Left | Left | Left |
| Accept an autocomplete suggestion or permission comment | Tab | Tab | Tab |
| Close a dialog or interrupt the current interaction | Esc | Esc | Esc |
Modes and models
Change permissions, model selection, fast mode, and extended thinking without leaving the prompt.
| Action | Windows | macOS | Linux |
|---|---|---|---|
| Cycle permission modesWindows uses Alt+M; macOS and Linux use Shift+Tab. | AltM | ShiftTab | ShiftTab |
| Switch models without clearing the promptThe macOS binding needs Option as Meta in some terminals. | AltP | OptionP | AltP |
| Toggle extended thinkingThis is Alt+T, not Tab. macOS may need Option as Meta. | AltT | OptionT | AltT |
| Toggle fast modeThe macOS binding may need Option as Meta. | AltO | OptionO | AltO |
| Enable Vim-style editingRun /vim. Esc enters NORMAL mode and i enters INSERT mode; this is a command, not a default shortcut. | Not documented | Not documented | Not documented |
Prompt input and history
Move through prompt history, edit text with readline-style controls, and open the editor or transcript.
| Action | Windows | macOS | Linux |
|---|---|---|---|
| Move to the previous prompt in historyDown moves forward. In multiline input, arrows move within the draft first. | Up | Up | Up |
| Reverse-search prompt historyEnter accepts the result; Esc keeps it for editing. | CtrlR | CtrlR | CtrlR |
| Open the current prompt in the external editor | CtrlG | CtrlG | CtrlG |
| Open the transcript viewer | CtrlO | CtrlO | CtrlO |
| Move to the start of the line | CtrlA | CtrlA | CtrlA |
| Move to the end of the line | CtrlE | CtrlE | CtrlE |
| Move back one wordRequires Option as Meta on macOS. | AltB | AltB | AltB |
| Move forward one wordRequires Option as Meta on macOS. | AltF | AltF | AltF |
| Delete from the cursor to the end of the line | CtrlK | CtrlK | CtrlK |
| Delete from the cursor to the start of the line | CtrlU | CtrlU | CtrlU |
| Delete the previous word | CtrlW | CtrlW | CtrlW |
| Delete the next wordRequires Option as Meta on macOS. | AltD | AltD | AltD |
| Paste the most recently deleted text | CtrlY | CtrlY | CtrlY |
| Cycle through deleted-text historyPress after Ctrl+Y. Requires Option as Meta on macOS. | AltY | AltY | AltY |
| Undo the last input editCtrl+Shift+- also works. | Ctrl_ | Ctrl_ | Ctrl_ |
| Paste an image from the clipboardiTerm2 on macOS also accepts Cmd+V; Windows and WSL use Alt+V for image paste. | AltV | CtrlV | CtrlV |
Multiline input
Add a line break without sending the prompt, including the fallback forms that work across terminal emulators.
| Action | Windows | macOS | Linux |
|---|---|---|---|
| Insert a line break with backslash then EnterWorks in every terminal. | \Enter | \Enter | \Enter |
| Insert a line break | CtrlJ | CtrlJ | CtrlJ |
| Insert a line break on macOSOption must be configured as Meta in some terminals. | Not documented | OptionEnter | Not documented |
| Insert a line break with Shift+EnterAvailable in terminals configured with /terminal-setup or native Shift+Enter support. | ShiftEnter | ShiftEnter | ShiftEnter |
Prompt prefixes
A leading character changes how an otherwise ordinary prompt is interpreted.
| Action | Windows | macOS | Linux |
|---|---|---|---|
| Open slash commands and skillsType it at the start of an empty prompt. | / | / | / |
| Run the line as a shell command | ! | ! | ! |
| Mention a file or other resource | @ | @ | @ |
| Open an emoji shortcodeAvailable in current Claude Code versions that support emoji shortcodes. | : | : | : |
Transcript and help
Use the help panel, fullscreen transcript, and voice input controls when the response is already on screen.
| Action | Windows | macOS | Linux |
|---|---|---|---|
| Open or navigate the theme picker | CtrlT | CtrlT | CtrlT |
| Open shortcut help | ? | ? | ? |
| Start or stop voice inputHold or tap Space according to the voice-input state. | Space | Space | Space |
| Open transcript shortcut helpUse inside the transcript viewer. | ? | ? | ? |
| Move to the previous user prompt in the transcript | { | { | { |
| Move to the next user prompt in the transcript | } | } | } |
| Show the full transcript in the classic viewer | CtrlE | CtrlE | CtrlE |
| Write the full conversation to terminal scrollbackAvailable in the fullscreen transcript viewer. | [ | [ | [ |
| Open the transcript in your editorLowercase v is the current fullscreen-transcript binding. | v | v | v |
| Close the transcript viewerCtrl+C and Esc also close it. | q | q | q |