Skip to content

Keyboard

Shortcuts

Everyone learns Esc. These are the rest — all checked against Claude Code itself, not copied off a blog.

The three to learn first

If you remember nothing else.

  • Esc Esc
    Stop Claude mid-action The moment Claude starts doing something you did not intend.
  • Esc thenEsc Esc thenEsc
    Clear the input box Your half-written prompt has turned into a mess and you want a clean line.
  • Shift +Tab Shift +Tab
    Cycle permission mode Starting an exploration (plan) or letting an agreed plan run (accept edits). On older Windows setups without VT mode, this is Meta+M instead.

Writing the prompt

Composing, searching, pasting.

  • Ctrl +J Ctrl +J
    Start a new line without sending Any prompt longer than one sentence.
  • Ctrl +R Ctrl +R
    Search your prompt history "What did I type last week that worked?" Inside the search, Ctrl+S cycles the scope: this session → this project → everywhere.
  • Ctrl +S Ctrl +S
    Park the half-written prompt You are three sentences into a prompt and need to go check something.
  • Ctrl +G Ctrl +G
    Edit the prompt in your real editor Writing anything long or carefully structured.
  • Ctrl +V Alt +V
    Paste an image Anything visual. Annotate the screenshot first and it works even better. Ctrl+V, not Cmd+V — macOS keeps Cmd+V for its own paste. Windows and WSL use Alt+V. On WSL both Ctrl+V and Alt+V work.
  • Option +T Alt +T
    Toggle thinking for the next turn One hard question in the middle of otherwise simple work.
  • Ctrl +_ Ctrl +_
    Undo in the input box You deleted half a prompt by accident.

Seeing what happened

What Claude did and what it plans to do.

  • Ctrl +O Ctrl +O
    Toggle the full transcript You want to know what it actually did, not the summary.
  • Ctrl +T Ctrl +T
    Toggle the task checklist Any multi-step task, before it gets far.

Running the session

Long jobs, models, the terminal.

  • Ctrl +B Ctrl +B
    Send the running job to the background A long build, test run, or search you do not want to sit and watch.
  • Option +P Alt +P
    Switch model Between tasks — rarely a good idea mid-task.
  • Option +O Alt +O
    Toggle fast mode Straightforward work where you would rather have speed than depth.
  • Ctrl +Z Ctrl +Z
    Step out to the shell without quitting You need the terminal for one command and do not want to lose the session. Terminal-level shortcut (Unix SIGTSTP), not a Claude Code binding. Windows has no direct equivalent.

The keys are the same on both systems — only the modifier's name changes (macOS calls Alt Option). Run /keybindings in any session to see exactly what is bound on your machine.

Resume yesterday's session instead of starting from scratch

← Tips Workflow & commands

Resume yesterday's session instead of starting from scratch

You don't have to lose context overnight. `claude --continue` picks up your last ; `claude --resume` opens a session picker. The codebase knowledge Claude built up is worth more than the 30 seconds of re-grounding.

beginner External reference ↗

Most newcomers don’t realise remembers and that you can come back to them. Three commands cover most cases:

  • claude --continue — resumes the most recent session in the current directory. The fastest way back to “where I was last night”.
  • claude --resume — opens a picker showing your recent sessions. Use when you have several going (one per feature) and want to pick.
  • claude --from-pr 142 — jumps back into the session that produced #142 (Claude links sessions to PRs you open with gh pr create).

Why this matters: a session that’s worked through a feature has already read the relevant files, understood the conventions, and built up the working mental . Starting fresh means re-grounding all of that from your and a cold . The resumed session is better-informed, not just faster.

Name your sessions or the picker is useless

claude --resume shows a list. If every entry is an opaque ID, you’ll pick the wrong one or give up. Name the ones worth returning to:

claude --name invoice-rounding-bug

The name shows in the prompt box, the /resume picker, and your title. Two seconds at the start of a session, and the picker becomes navigable.

A small trick when you resume: ask Claude where you left off. There’s a built-in for it —

/recap

“Generate a one-line session recap now.” Or ask in your own words if you want more than a line:

Quick recap — what were we doing in this session and what’s the next step?

Forty words of Claude’s own context, written by Claude in its own words, is a better re-entry point than your half-remembered notes.

On a very long session you may be offered a summary-based resume rather than a full one. That’s the same lossy trade /compact makes — fine for picking up the thread, worse for the specifics. If the session mattered, a written handoff beats either. See the handoff-not-summary tip.

When not to resume: when the topic has changed. Pulling yesterday’s “fix the auth bug” session into today’s “design the cart ” task gives you the worst of both worlds — Claude has stale context AND mixed topics. Start fresh for unrelated work.

Pair this with the One session, one task tip. The sessions you keep should be the focused ones; the unfocused ones should have ended yesterday.

Next tip →

Custom slash commands — turn repeated workflows into one keystroke

If you find yourself typing the same three times, write it as a custom . Drop a file in `.claude/commands/`, invoke with `/yourname`. it and the whole team gets the shortcut.