Your First Session
Opening Claude Code for the first time in a real project, understanding the interface, reading tool calls, and the key commands you'll use every day.
The best way to understand Claude Code is to use it on a real project. Not a dummy exercise — an actual folder with actual files. We'll open it, orient ourselves, and run a few commands that reveal how Claude actually works.
The Setup
Before starting, you need a project folder. If you haven't created your Project 1 folder yet, create a simple one now. In your terminal, run mkdir ~/Desktop/my-project && cd ~/Desktop/my-project.
Create one file so the folder is not empty: run echo "# My Project" > README.md.
Now open VS Code in this folder by running code ..
Starting Claude Code
In VS Code, press Ctrl+`` (backtick) to open the integrated terminal. Then type claude` and press Enter.
You will see the Claude Code welcome screen followed by a > prompt. Claude is waiting for your instruction.
> prompt must appear before you continue. If you see an error or the prompt does not appear, Claude Code is not installed or not logged in. Return to the Install & Login page.Your First Prompt
Type What files are in this project? Tell me what each one does. and press Enter.
Watch what happens. You will see Claude Code do several things before it responds.
Understanding Tool Calls
This is the most important thing to understand about Claude Code. Claude doesn't just think and respond — it takes actions. Each action is called a tool call, and they are shown transparently in the terminal.
Here is what a typical response looks like:
The lines starting with ● are tool calls. Claude is not guessing — it is actually reading your file. When it says "the README contains X", it just read the file to confirm that. You can see every action it takes.
The Core Tool Calls You'll See
| Tool call | What Claude is doing |
|---|---|
Read(filename) | Reading the contents of a specific file |
Write(filename) | Creating or overwriting a file |
Edit(filename) | Making targeted changes inside a file |
Bash(command) | Running a terminal command |
ListDirectory(path) | Listing files in a folder |
Grep(pattern) | Searching for text across files |
This transparency is deliberate. Claude Code is designed so you can see exactly what it's doing. If it does something you didn't expect, you'll see it. If it reads the wrong file, you'll see it. You're never flying blind.
When Claude runs a Bash command, you'll see the actual command it's about to run and it will ask for your permission before executing. You can approve it (press Enter), deny it (press n), or tell it to always allow that type of command in future. Never approve a command you don't recognize.
The Session Memory
Claude Code remembers everything from the start of the current session. Try this:
Type Remember: we are building an invoice tracker for CA firms. Never suggest using Excel for this. and press Enter. Claude will acknowledge this.
Now later in the same session, ask What are we building?. Claude will recall exactly what you told it. This memory is the session context. It resets when you type /clear or start a new claude session.
Why this matters: You don't repeat yourself within a session. Tell Claude at the start what you're building, what constraints you have, what you've already tried. It remembers for the entire session.
A Practical Test
Let's try something that shows the real power. Create a simple project:
Ask Claude to create a project structure
Type Create a simple folder structure for a contact management app. Add one file to each folder.
Watch the tool calls. You will see it create folders and files one by one — each one shown as a Write() tool call in the terminal.
Ask Claude to explain what it created
Type Explain what you just created and why you chose this structure.
It will explain its own decisions, because it has full context of what it just did.
Ask Claude to check for anything missing
Type Is there anything missing from this structure for a basic contact management app?
It will scan what it created and give you an honest assessment.
code . in the right folder before starting Claude Code.This is the workflow: instruct → Claude acts → review → refine. Not: describe → copy → paste → debug.
Key Commands Reference
Memorize these. You'll use them every session.
| Command | What it does | When to use it |
|---|---|---|
/help | Show all commands and their descriptions | When you forget a command |
/clear | Reset the entire session history | Between unrelated tasks |
/compact | Summarize conversation to free context space | Long sessions, mid-task |
Ctrl + C | Cancel the current operation immediately | Claude is doing something wrong, or you changed your mind |
Ctrl + L | Clear the terminal display (not the session) | Screen is cluttered — doesn't lose session memory |
One Thing Beginners Get Wrong
People who are new to Claude Code treat it like ChatGPT. They type a long description of what they want, get a response, and then start a new prompt as if the previous one didn't happen.
That's the wrong mental model.
Claude Code sessions are more like working with a colleague sitting next to you. You don't re-introduce the project every time you say something. You build on the conversation:
- "Actually, let's change that approach — instead of using a modal, use a slide-out panel."
- "The error I'm getting is X. What do you think is causing it?"
- "Wait — before we go further, check if this will conflict with what we did earlier for the auth flow."
The session context is your shared working memory. Use it like a conversation, not like a series of independent requests.
What a Good First Session Looks Like
A productive first session on a new project follows this shape:
- Orient Claude to the project — "Here's what we're building and what already exists."
- One focused task — "Today we're building the user profile form."
- Review every tool call — Don't just wait for the response. Watch what Claude is reading and writing.
- Iterate on the output — "Good. Now add validation for the phone number field."
- Confirm the result yourself — Actually run the code. Don't trust Claude's assessment that it works.
Step 5 is non-negotiable. Claude is very capable, but it can be wrong. You are the final reviewer. Always run the code, always check the result, always think critically about what was produced.