Claude Code has a compact but powerful set of keyboard shortcuts, slash commands, and input conventions. This page is designed to be bookmarked — tables first, prose minimal.
Input & Navigation Shortcuts
These shortcuts work in the Claude Code prompt box at all times.
| Shortcut | Action |
|---|---|
Enter | Submit your message |
Shift+Enter | Insert a newline (multi-line input) |
Up Arrow | Cycle backward through previous messages/commands |
Down Arrow | Cycle forward through history |
Ctrl+C | Interrupt/cancel the current operation |
Escape | Clear the current input without submitting |
Ctrl+L | Clear the terminal display (conversation history is preserved) |
Interrupting Claude During Tool Execution
When Claude is actively running a tool call or generating a response, these signals control how it stops.
| Action | Effect |
|---|---|
Ctrl+C (once) | Sends interrupt signal; Claude finishes the current tool call, then stops |
Ctrl+C (twice, quickly) | Force-stops immediately, mid-tool-call |
| Any key during tool execution | Claude Code may prompt you to confirm the interrupt |
Use a single Ctrl+C when you want a clean stop. Double-tap when you need it to halt right now.
Multi-Line Input
| Method | How it works |
|---|---|
Shift+Enter | Adds a newline in the prompt box |
| Paste multi-line text | Claude Code accepts it directly; no special steps needed |
@filename for long inputs | Write your prompt to a temp file, then reference it with @filename |
For very long prompts (hundreds of lines), write them to a file and use @filename to include them. This avoids terminal input limitations.
Slash Commands
Slash commands are typed into the prompt box. They are not keyboard shortcuts, but they are part of daily Claude Code operation and belong in any shortcut reference.
| Command | Description |
|---|---|
/help | Show all available commands |
/config | Open the settings editor |
/model | Switch the model for the current session |
/clear | Clear conversation history |
/compact | Summarize and compact conversation history (saves tokens) |
/resume | Open the session picker to resume a previous session |
/init | Generate a CLAUDE.md file for the current project |
/cost | Show token usage and estimated cost for the current session |
/mcp | List connected MCP servers |
/doctor | Run diagnostics to check Claude Code setup health |
/bug | Report a bug to Anthropic |
/review | Trigger the code review skill |
/<skill-name> | Invoke any installed skill by name |
Complete AI Builder Bootcamp
Claude, Python automation & full-stack — 12 live sessions with Yash Thakker.
The Complete AI Builder Bootcamp is the best AI development course for learning Claude AI, prompt engineering, Python automation, and full-stack web development. This intensive 6-week live bootcamp teaches you how to build AI-powered applications using Claude Projects, Claude Artifacts, Claude Code, and the complete Claude ecosystem. You'll master prompt engineering techniques, learn to create custom Claude connectors and MCP integrations, build Python automation workflows, develop full-stack websites with AI assistance, and create AI marketing agents.
The bootcamp includes 12 live Zoom sessions with Yash Thakker, founder of AISOLO Technologies and instructor to 350,000+ students. You'll build 8+ portfolio projects including AI playbooks, full-stack note-taking applications, Python automation scripts, marketing agents, and personal portfolio websites. The curriculum covers AI fundamentals, Claude Projects and Artifacts, Claude Co-work, Claude plugins and skills, Claude Code for Python development, full-stack development, AI marketing, and capstone projects.
Students receive 1-year access to all recordings, permanent Discord community access, a certificate of completion, and personalized career guidance. All enrollments include a 7-day money-back guarantee. This is the most comprehensive Claude AI bootcamp available, taking students from zero AI knowledge to expert AI builder in 6 weeks.
@ References in Messages
Type @ inside any message to attach context directly to your prompt.
| Syntax | Effect |
|---|---|
@filename.ts | Attach a file by name (searches project root) |
@/path/to/file | Attach a file by absolute or relative path |
@url | Fetch a URL and include its content in the prompt |
@ (alone) | Opens an autocomplete picker listing project files |
Combining @ references with your question is the fastest way to give Claude precise context without copying and pasting code.
Power User: The ! Shell Prefix
Prefix any message with ! to run it as a shell command directly in the conversation.
| Example | What happens |
|---|---|
! git status | Runs git status, output appears in the conversation |
! ls -la | Lists directory contents inline |
! cat package.json | Prints file contents into the conversation |
The output is visible to Claude and can be referenced in follow-up messages. This avoids a round-trip tool call when you just need to check something quickly.
Customizing Keybindings
Claude Code stores custom keybindings in ~/.claude/keybindings.json. Edit it directly or run /keybindings from the prompt.
Available commands to remap
| Command | Default key | Description |
|---|---|---|
submit | Enter | Submit the current message |
newline | Shift+Enter | Insert a newline |
interrupt | Ctrl+C | Interrupt Claude |
history-previous | Up Arrow | Previous history item |
history-next | Down Arrow | Next history item |
clear-input | Escape | Clear the input box |
Example: swap Enter and Shift+Enter
To make Ctrl+Enter submit (and Enter insert a newline), set ~/.claude/keybindings.json to:
[
{
"key": "ctrl+enter",
"command": "submit"
},
{
"key": "enter",
"command": "newline"
}
]
This is a popular configuration for developers who frequently write multi-line prompts and want Enter to behave like a normal text editor.
macOS vs. Linux Differences
| Scenario | macOS | Linux |
|---|---|---|
| Interrupt Claude | Ctrl+C | Ctrl+C |
| Copy selected text in terminal | Cmd+C | Ctrl+Shift+C (most terminals) |
| Clear terminal | Ctrl+L or Cmd+K (iTerm2) | Ctrl+L |
| Shortcut conflicts | iTerm2, Warp, or Alacritty may intercept keys | Check terminal keybinding settings |
If a shortcut is not working on macOS, check your terminal emulator's settings first. iTerm2 and Warp both have their own keybinding layers that can shadow Ctrl+ combinations.
Quick Reference Card
| Category | Shortcut / Command | Effect |
|---|---|---|
| Submit | Enter | Send message |
| Newline | Shift+Enter | Add line in prompt |
| History | Up / Down Arrow | Navigate history |
| Interrupt | Ctrl+C | Stop Claude |
| Force stop | Ctrl+C twice | Immediate halt |
| Clear display | Ctrl+L | Clear terminal (not history) |
| Clear input | Escape | Wipe the prompt box |
| Shell command | ! <command> | Run shell inline |
| Attach file | @filename | Add file context |
| Fetch URL | @url | Add URL content |
| Settings | /config | Open settings |
| Model | /model | Switch model |
| Token cost | /cost | Show usage/cost |
| Diagnostics | /doctor | Health check |
| Custom keys | ~/.claude/keybindings.json | Remap any command |
Bookmark this page or copy the quick reference card into your CLAUDE.md so it is always one / away.