✨ Claude Power User Guide
A bag of CLI commands and keyboard shortcuts that I use when working with claude.
🛠️ Claude Code (CLI) commands
/init — Initialize project
Sets up the environment and creates / reads a CLAUDE.md file so Claude understands your specific repo structure, tech stack, and coding standards.
/resume — Resume session
Instantly restores the context of your last terminal conversation so you can pick up exactly where you left off without re-explaining the task.
/compact — Optimize context
Compresses the conversation history. Vital for long sessions to save on token costs and keep Claude's reasoning sharp and focused.
/btw — Context switch
Lets you interrupt a long-running task to ask a quick side question without losing the progress or context of your primary coding work.
/plan — Strategy mode
Forces Claude to write a detailed technical blueprint for approval before it starts generating any actual code changes, ensuring alignment on the approach.
/rewind — Undo changes
Reverts both the code edits and the chat history to a previous checkpoint if a particular refactor or logic path doesn't go as planned.
⌨️ Terminal keyboard shortcuts
Many of the shortcuts in Claude Code are identical to standard Linux terminal commands.
| Shortcut | Action | What it does |
|---|---|---|
↑ | Navigate history | Cycle through previous prompts and commands to reuse or edit them, just like a standard terminal. |
Ctrl + C | Cancel / interrupt | Instantly stops Claude in the middle of generating a long response or running a task. |
Ctrl + D | Exit session | The standard way to safely exit the Claude CLI and return to your normal terminal prompt. |
Ctrl + R | Search history | Reverse-search through your previous prompts and commands within the session, just like Bash or Zsh. |
Shift + Tab | Permission toggle | Cycle through permission modes — e.g. from "ask for every edit" to "auto-approve edits" for faster workflows. |
Shift + Enter | New line | Insert a newline in your prompt without submitting. Useful for multi-line instructions or pasting code blocks. |
Esc + Esc | Quick rewind | Open the rewind menu and jump back to a previous "clean" state of the conversation. |
💻 CLI features
! [command] — Direct shell execution
Prefix any command with an exclamation mark (e.g. !ls -la) to run a shell command directly within the Claude session without exiting.
@ [file] — File attachment and autocomplete
Type @ followed by a filename to quickly reference or "attach" a specific file to your prompt so Claude focuses its attention there.
🧠 Claude memory
Claude uses a two-part system to remember project details and coding preferences across sessions.
1. CLAUDE.md — hierarchical instructions
A manual "source of truth" file placed in your project root. It's meant to be committed to Git so the entire team shares the same context. It follows a three-level hierarchy:
- User level —
~/.claude/CLAUDE.md— your global personal preferences. - Project level —
./CLAUDE.md— shared team standards and tech stack. - Local level —
CLAUDE.local.md— personal project-specific overrides, ignored via.gitignore.
2. Auto-memory — local learning
Claude automatically tracks learned patterns (like working build commands or specific bug fixes) without manual input.
- Storage —
~/.claude/projects/[project-path]/memory/ - Usage — Claude reads these logs at the start of each session to stay up to speed.
- Control — since these are just Markdown files, you can manually edit or delete them if Claude "remembers" something incorrectly.
💡 Pro tip
If you want Claude to remember something specific, explicitly tell him — he will add it to his auto-memory for future sessions.
You can inspect the files in
~/.claude/projects/[project-path]/memory/yourself. If something looks wrong, you can either edit the files manually or ask Claude to modify his memory directly.