Claude Code Keyboard Shortcuts & Terminal Basics
The keys that make Claude Code fast: @ for files, ! for shell, Esc to interrupt, Esc Esc to rewind, Shift+Tab for modes, Ctrl+B to background.
On this page6 sections
Claude Code is a prompt in your terminal, and about eight keys do most of the work. One
correction up front: the old # shortcut for writing a note into CLAUDE.md is gone. Claude
now saves things you ask it to remember into auto memory, and /memory edits memory files
by hand.
1. The prompt symbols
@— file-path mention with autocomplete:explain @src/auth.ts. Claude reads the file instead of guessing.!at the start — shell mode. Runs the command, adds its output to the session, and lets Claude respond to it./at the start — a command or skill:/clear,/usage,/context,/help.?on an empty input — toggles the shortcut help panel.
2. Esc, and Esc twice
Esc interrupts Claude mid-response, keeping the work done so far, so you can redirect without
killing the session.
Esc Esc does one of two things: with text in the input it clears the draft and saves it to
history so ↑ recalls it; on an empty input it opens the rewind menu, which restores code
and conversation to an earlier checkpoint. /rewind opens the same thing.
3. Shift+Tab for permission modes
Cycles default (shown as Manual) → acceptEdits → plan, with bypassPermissions and
auto slotting in where available. Details in
permissions and
plan mode.
4. The rest worth knowing
Ctrl+B— background a running Bash command or agent. Tmux users press it twice.Ctrl+O— toggle the transcript viewer: full tool calls, timestamps, model used.Ctrl+R— reverse-search your prompt history.Ctrl+S— stash the current prompt; press again on an empty prompt to restore it.
5. Resume from the shell
claude -c # continue the most recent conversation here
claude -r # pick an older session from a list
What it does: reopens a session after you close the terminal, with its history intact.
Verify it worked
Press ? on an empty prompt. The panel that opens is your build’s actual shortcut list — if
something here disagrees with it, trust the panel and run claude --version. Every
slash command you see there can also be your own file; see
create a custom slash command.
Source: Claude Code interactive mode.