Summary of Claude Code Features
Managing Project Memory
/init: Claude Code scans your codebase and creates aCLAUDE.mdfile inside your project directory.CLAUDE.mdguides Claude through your codebase, pointing out important commands, architecture, and coding style. It is automatically included in the context each time you launch Claude Code.
#: Use#to quickly add a memory. Useful when Claude Code repeatedly makes the same error.- Example 1 — You can add project-specific tooling instructions to
CLAUDE.mdusing#. For instance, if your project usesuvfor dependency management:
- Example 1 — You can add project-specific tooling instructions to
# use uv to run python files or add any dependencies
- Example 2 — You can inform Claude Code about the database schema. For example, if your project uses a vector database, you can describe the collections stored in it:
# The vector database has two collections:
course_catalog:- Stores course titles for name resolution
- Metadata for each course:
title,instructor,course_link,lesson_count,lessons_json(list of lessons:lesson_number,lesson_title,lesson_link)
course_content:- Stores text chunks for semantic search
- Metadata for each chunk:
course_title,lesson_number,chunk_index
Summary of Claude Code Commands
| Command | Description |
|---|---|
/clear | Clears current conversation history |
/compact | Summarizes current conversation history |
ESC | Interrupt Claude to redirect or correct it |
ESC ESC | Rewind the conversation to an earlier point in time |
@ | Mention files with @ to include their content in your request |
/mcp | Manage MCP connection & check available MCP servers with their provided tools (MCP with Claude Code) |
You can use regular bash commands within Claude Code, but you need to start the command with ! (for example: !pwd). You can type exit to quit Claude Code. |
Keyboard Shortcuts
| Shortcut | Description |
|---|---|
shift + tab | Switch between planning and auto-accept mode |
cmd + shift + ctrl + 4 (Mac) or Win + Shift + S (Windows) | Take a screenshot |
Ctrl + V (may not work on Windows) | Paste a screenshot |
Additional Claude Features
Extended Thinking Mode
For complex tasks (e.g., complex architectural changes, debugging complicated issues), you can use the word "think" to trigger extended thinking mode. There are several levels of thinking: "think" < "think hard" < "think harder" < "ultrathink". Each level allocates more thinking budget for Claude.
Use of Subagents
Delegate research with "use subagents to investigate X". They explore in a separate context, keeping your main conversation clean for implementation.
Use /btw to ask a quick side question without interrupting Claude's current work
Subagents run in separate context windows and report back summaries:
Use subagents to investigate how our authentication system handles token
refresh, and whether we have any existing OAuth utilities I should reuse.
You can also use subagents for verification after Claude implements something:
use a subagent to review this code for edge cases
One of the built-in tools for Claude Code is Task, which Claude Code can use to launch subagents for complex multi-step tasks. You can explicitly ask Claude Code to use subagents to brainstorm ideas or to investigate multiple aspects of a question or a problem you want to solve. These built-in agents are general purpose.
You can also create customized specialized subagents. Each subagent has its own context window, and you can define a custom system prompt and specific tools for each subagent. Details can be found in the official documentation.
Let Claude interview you
For larger features, have Claude interview you first. Start with a minimal prompt and ask Claude to interview you using the AskUserQuestion tool.
Claude asks about things you might not have considered yet, including technical implementation, UI/UX, edge cases, and tradeoffs.
I want to build [brief description]. Interview me in detail using the AskUserQuestion tool.
Ask about technical implementation, UI/UX, edge cases, concerns, and tradeoffs. Don't ask obvious questions, dig into the hard parts I might not have considered.
Keep interviewing until we've covered everything, then write a complete spec to SPEC.md.
Once the spec is complete, start a fresh session to execute it. The new session has clean context focused entirely on implementation, and you have a written spec to reference.
Resume previous conversations
When starting Claude Code, you can resume a previous session:
claude --continuecontinues the most recent conversation in the current directoryclaude --resumeopens a conversation picker or resumes by nameclaude --from-pr 123resumes sessions linked to a specific pull request
From inside an active session, use /resume to switch to a different conversation.
Name your sessions
Give sessions descriptive names to find them later.
-
Name the current session: Use
/renameduring a session to give it a memorable name:/rename auth-refactorYou can also rename any session from the picker: run
/resume, navigate to a session, and pressR. -
Resume by name later: From the command line:
claude --resume auth-refactorOr from inside an active session:
/resume auth-refactor
Use the session picker
The /resume command (or claude --resume without arguments) opens an interactive session picker with these features:
Keyboard shortcuts in the picker:
| Shortcut | Action |
|---|---|
↑ / ↓ | Navigate between sessions |
→ / ← | Expand or collapse grouped sessions |
Enter | Select and resume the highlighted session |
P | Preview the session content |
R | Rename the highlighted session |
/ | Search to filter sessions |
A | Toggle between current directory and all projects |
B | Filter to sessions from your current git branch |
Esc | Exit the picker or search mode |
Tips:
- Name sessions early: Use
/renamewhen starting work on a distinct task - Use
--continuefor quick access to your most recent conversation in the current directory - Use
--resume session-namewhen you know which session you need - Use
--resume(without a name) when you need to browse and select - For scripts, use
claude --continue --print "prompt"to resume in non-interactive mode - Press
Pin the picker to preview a session before resuming it - The resumed conversation starts with the same model and configuration as the original
View Claude Code usage stats
/context: Visualize current context usage. Shows optimization suggestions./stats: Visualize daily usage, session history, streaks, and model preferences.
Detailed core concepts - official sources
Claude Code Docs:
VS Code
VS Code extension vs. Claude Code CLI
Claude Code is available as both a VS Code extension (graphical panel) and a CLI (command-line interface in the terminal). Some features are only available in the CLI. If you need a CLI-only feature, run claude in VS Code's integrated terminal.
| Feature | CLI | VS Code Extension |
|---|---|---|
| Commands and skills | All | Subset (type / to see available) |
| MCP server config | Yes | Partial (add servers via CLI; manage existing servers with /mcp in the chat panel) |
| Checkpoints | Yes | Yes |
! bash shortcut | Yes | No |
| Tab completion | Yes | No |
Switch between extension and CLI
The extension and CLI share the same conversation history. To continue an extension conversation in the CLI, run claude --resume in the terminal. This opens an interactive picker where you can search for and select your conversation.
Automate browser tasks with Chrome
Connect Claude to your Chrome browser to test web apps, debug with console logs, and automate browser workflows without leaving VS Code. This requires the Claude in Chrome extension version 1.0.36 or higher.
Type @browser in the prompt box followed by what you want Claude to do:
@browser go to localhost:3000 and check the console for errors