Claude Code looks deceptively simple. You type a request, you hit Enter, the model goes to work. Spend enough time in a real session, though, and a different rhythm emerges. The engineers who get the most out of the tool barely seem to leave the home row. They cancel a runaway tool call without touching the mouse, rewind a session to a point before a bad edit, swap models mid-thought, drop a screenshot straight into the chat. None of it is hidden. All of it lives in the keyboard shortcuts that Anthropic ships in every install of Claude Code.

What follows is not the full reference. It is the working set: ten shortcuts that, taken together, account for nearly everything a fluent user does in a day. Some are obvious once you see them. Others quietly fix problems you probably did not realize you had.

The Working Set at a Glance

  • Cycle permission modesShift+Tab
  • Interrupt Claude mid-responseEsc
  • Rewind the sessionEsc Esc
  • Reverse-search prompt historyCtrl+R
  • Toggle transcript viewerCtrl+O
  • Background a running commandCtrl+B
  • Toggle the task listCtrl+T
  • Edit prompt in your $EDITORCtrl+G
  • Switch model on the flyOption+P / Alt+P
  • Paste image from clipboardCtrl+V

1. Shift+Tab: Cycle Permission Modes

The single most important key in the whole CLI. A tap on Shift+Tab cycles between the three default permission modes: default, where Claude asks before each non-trivial action; acceptEdits, where file edits go through automatically while other actions still prompt; and plan, where Claude reads and reasons but is forbidden from changing anything until you approve a plan. Most experienced users live in plan mode for the opening of any complex task, then switch to acceptEdits once the approach is agreed. Learning to flip between these states without thinking is the difference between Claude Code feeling cautious and Claude Code feeling like a collaborator.

2. Esc: Interrupt Claude

If Claude has misunderstood the task and is halfway through building the wrong thing, do not wait. A single Esc stops the current turn cleanly. The work already done is preserved in the conversation, so you can redirect with a corrective prompt rather than starting over. It sounds trivial, but watch any new user and you will see them sit through a doomed three-minute response because they assume interrupting will lose state. It will not.

3. Esc Esc: Rewind the Session

Two quick taps on Esc open the rewind interface. From there you can roll the conversation, the working directory, or both back to any earlier point in the session. This is the closest thing Claude Code has to a safety net. When an aggressive refactor has spread across twelve files and the test suite is now an angry red wall, Esc Esc gets you back to the last known-good state in seconds. Treat it like Git's reflog: you do not need it often, but the day you do, nothing else will do.

4. Ctrl+R: Reverse-Search Prompt History

Borrowed straight from Bash. Press Ctrl+R, type a few characters from any prompt you have sent before, and Claude Code surfaces the matching entry. Press Ctrl+R again to cycle through older matches. By default the search spans every project on the machine, but Ctrl+S cycles the scope down to the current session or the current project. For anyone who reuses a handful of carefully worded prompts (a code review framing, a release-notes template, a particular test-generation incantation) this is the fastest way to retrieve them.

"The shortcuts are not power-user trivia. They are how the tool was designed to be used. Hiding them behind a help menu just means people work around the friction instead of past it." Anthropic Claude Code documentation, Interactive Mode reference, 2026

5. Ctrl+O: Toggle the Transcript Viewer

Claude Code collapses tool output by default to keep the conversation readable. The downside is that important detail (the exact command Claude ran, the full text of a file it read, the arguments to an MCP call) gets hidden behind a single line of summary. Ctrl+O opens the full transcript viewer, where every tool invocation expands into its complete input and output. It is invaluable when something has gone wrong and you need to know exactly what the model did, and equally useful when reviewing a long autonomous run after the fact.

6. Ctrl+B: Background a Running Command

Long-running bash work, a Vite dev server, a Docker build, a test suite that takes ten minutes, does not need to block the conversation. Press Ctrl+B while a Bash tool call is running and Claude Code moves it to the background and returns the prompt to you immediately. The command keeps executing, its output is written to a file, and Claude can read that file when the work matters. Tmux users press Ctrl+B twice because of tmux's own prefix binding. The net effect is that your conversation never stalls behind infrastructure.

7. Ctrl+T: Toggle the Task List

For any multi-step task, Claude maintains a task list in the status area of the terminal. Ctrl+T shows or hides it. The default display caps at five tasks to avoid clutter, but the list itself can be longer. The value here is calibration: a glance at the task list tells you whether Claude has actually broken the work down or is freelancing, and how far through the plan it currently is. Users who keep the list visible during long agentic runs are noticeably less likely to be surprised by what they get back.

8. Ctrl+G: Edit the Prompt in Your Editor

The terminal prompt is fine for two sentences. For a careful, multi-paragraph instruction (a bug report with reproduction steps, a long spec, a piece of pasted code with annotations) it is awful. Ctrl+G opens the current prompt in whatever your shell has configured as the default editor: Vim, Neovim, VS Code, Cursor, whatever you actually compose in. Write the prompt properly, save, and you are back at the Claude prompt with the text loaded. It also accepts Ctrl+X Ctrl+E for anyone whose fingers expect the readline binding.

9. Option+P or Alt+P: Switch Model Mid-Conversation

On macOS it is Option+P; on Windows and Linux it is Alt+P. Either one opens the model picker without clearing the prompt you have already typed. This matters more than it sounds. Most workflows mix tasks of very different difficulty: a one-line rename does not need Opus, an architectural review does not belong on Haiku. Being able to dial the model up or down between turns, without abandoning the conversation context, is what makes Claude Code's tiered pricing actually usable.

10. Ctrl+V: Paste an Image

Press Ctrl+V (or Cmd+V in iTerm2, Alt+V on Windows) with an image on the clipboard and Claude Code inserts an [Image #N] placeholder at the cursor. Reference it in the prompt by number and Claude treats it as a first-class input. The practical effect is that a screenshot of a broken UI, a screen grab of an error dialog, or a hand-drawn whiteboard sketch becomes part of the conversation without an upload step. For anyone who debugs visual issues, this is the single biggest quality-of-life shortcut on the list.

The Real Lesson

Look at the ten together and a pattern shows up. None of these shortcuts are about typing faster. They are about preserving state across the moments where a less designed tool would force you to restart. Interrupting without losing context. Rewinding without losing work. Backgrounding without losing the conversation. Swapping models without losing the prompt. The CLI is built so that the user almost never has to throw away progress. The shortcuts are the surface area of that design choice.

Most teams roll out Claude Code with a one-page cheat sheet and call it done. The teams that get more value spend the first week using the shortcuts deliberately, even when the mouse is faster. After a few days the motor habits take over, and the version of Claude Code you were using before starts to feel oddly small.

Further reading: Read our coverage of Claude Code 2.0, browse Claude's model family, or catch the latest Claude AI news.