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.

`@file` and `!command` — two prompt shortcuts every newcomer misses

← Tips Workflow & commands

@file and !command — two prompt shortcuts every newcomer misses

Type `@` to reference a file by path (autocompletes), `!` to run a and embed its output. Both go straight into the . They cut the "let me copy this in" loop entirely.

beginner

Two characters that change how you write .

@ — reference a file

Start typing @ in the prompt and Claude offers an autocomplete of files in the current directory tree. Pick one and the file path drops into the prompt.

Compare @src/auth/old.ts with @src/auth/new.ts and tell me what changed.

Claude reads both files automatically. You didn’t have to paste paths, didn’t have to spell them, didn’t risk a typo.

Works with directories too. @src/auth/ gives Claude the whole folder as context.

! — run a shell command inline

Prefix a line with ! and Claude runs the command immediately and pastes the output into the prompt. The command runs in your ; you see what ran.

!git status
!git diff HEAD

What are these changes about? Summarise for the commit message.

You didn’t have to switch . You didn’t have to copy-paste. Claude saw the actual state, not a description of it.

Useful targets for !:

  • !git log -5 --oneline — recent as context
  • !npm test -- --reporter=summary — paste test output before asking “why is this failing”
  • !ls -la — quick “what’s in here?” without the back-and-forth
  • !cat package.json | jq .scripts — pull a specific slice of a file

When not to use !: long-running commands (!npm run dev will hang the prompt waiting for a server that never finishes). Quick one-shot output only.

These two shortcuts replace dozens of small copy-pastes per day. Once they’re muscle memory you’ll wonder how you used Claude without them.

Next tip →

When Claude does something wrong, add a line to CLAUDE.md

Boris Cherny's ('s creator) golden rule — every time Claude makes the same mistake twice, add a one-liner to so it doesn't make it a third time. The file grows as your 's tribal knowledge gets written down.