Keyboard shortcuts for Claude Code
Claude Code runs in your terminal, so its shortcuts are a short list of keys the prompt itself watches for, plus a handful of prefix characters. Below is what is worth committing to memory, and how to check the bindings for the version you have installed rather than trusting anyone's list, ours included. The hardware point comes last, because only two or three of these get pressed often enough to matter, and that is the narrow case the KM16 Macropad is built for.
What are the main Claude Code keyboard shortcuts?
Shift+Tab cycles the permission mode. Keep pressing it until the mode shown above the prompt is the one you want, which is how you reach plan mode and how you leave it. It behaves the same on macOS, Windows and Linux, because the prompt handles it rather than the operating system.
Esc stops the current turn. That is the most useful key in the tool: the moment you see it heading the wrong way, stop it rather than let it finish and then undo the result. In recent versions, pressing Esc twice steps back through earlier messages so you can edit one and run again. Ctrl+C cancels what is running, and Ctrl+D exits the session.
How do I reference a file or run a shell command?
These are prefix characters typed at the start of the prompt rather than modifier combinations, which is why searching for a file selection shortcut turns up so little. Type @ to reference a file and pick from the list that appears. Type / for slash commands. Type ! to run a shell command directly. Type # to write a note into the project memory file.
Changing model works the same way: it is the /model command, not a keystroke. There is no hotkey for it, and if a page tells you there is, check it against /help before you rebind anything on the strength of it.
What is the copy shortcut, and why is mine different?
Copying out of a session is your terminal's job, not the agent's. On macOS that is the usual Cmd+C in your terminal application. On Linux most terminals use Ctrl+Shift+C, because plain Ctrl+C is already the interrupt. On Windows it depends on which terminal you run it in. Dictation is the same story: there is no built in dictation key, so what you press is whatever your operating system's dictation setting is bound to.
Where is the current list for my version?
Run /help inside a session. That list is produced by the build you have installed, which makes it the one source that cannot go stale. Shortcuts in a tool this young move between releases, and recent versions also let you remap some of them in your own settings files. Read the current list first, then decide what deserves to leave the keyboard.
Which of these are worth putting on hardware?
Not many. The cost of a shortcut is not the keystroke, it is breaking your hand position to reach it. Esc and Shift+Tab are already under your fingers, so leave them there. The candidates are the ones that pull a hand away or need a stretch you get wrong: switching mode while your right hand is on the mouse, the approve keystroke during a long review, and starting dictation.
One constraint decides all of it. A macropad can only send a key combination, so the action has to have a binding in the software before any hardware can reach it. Find the binding first, confirm it works from the keyboard, then move it.
If the approve keystroke is the one you press most, we wrote about that case on its own: a physical button to approve AI agent actions.